题解 | #每天的日活数及新用户占比#

每天的日活数及新用户占比

http://www.nowcoder.com/practice/dbbc9b03794a48f6b34f1131b1a903eb

思路不清晰,太长了。。。
SELECT dt,dau,
IF(new_ids IS NULL,0.00,ROUND(new_ids/dau,2)) uv_new_ratio
FROM (
    SELECT dt,dau,new_ids
    FROM (
        SELECT DATE_FORMAT(ac_time,'%Y-%m-%d') dt,
        COUNT(DISTINCT uid) dau
        FROM(
            SELECT uid,DATE(in_time) ac_time
            FROM tb_user_log
            UNION
            SELECT uid,DATE(out_time) ac_time
            FROM tb_user_log
        )t1
        GROUP BY dt
    )t2
    LEFT JOIN (
        SELECT DISTINCT first_dt dt,
        COUNT(uid) new_ids
        FROM (
                SELECT uid,
                MIN(DATE(in_time)) AS first_dt FROM tb_user_log
                GROUP BY uid
            )t3
        GROUP BY first_dt
    )t4 USING(dt)
)t5
ORDER BY dt


全部评论

相关推荐

03-21 08:46
已编辑
门头沟学院 C++
一个什么都不会的学生:当你有硕士学历的时候HR会说就是比本科生强
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务