题解 | 计算用户的平均次日留存率

计算用户的平均次日留存率

https://www.nowcoder.com/practice/126083961ae0415fbde061d7ebbde453

SELECT
    round(
        sum(
            CASE
                WHEN p2.device_id IS NOT NULL THEN 1
                ELSE 0
            END
        ) / count(*),
        4
    ) AS avg_ret
FROM
    (
        SELECT DISTINCT
            device_id,
            date
        FROM
            question_practice_detail
    ) p1
    LEFT JOIN (
        SELECT DISTINCT
            device_id,
            date
        FROM
            question_practice_detail
    ) p2 ON p1.device_id = p2.device_id
    AND p2.date = Date_ADD(p1.date, INTERVAL 1 DAY)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务