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

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

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

# 计算日活的时候也要算out_time,有可能是在午夜12点左右都刷了,用UNION自动去重!!!

WITH t1 AS (SELECT
uid,
DATE(in_time) AS dt
FROM tb_user_log
UNION
SELECT
uid,
DATE(out_time) AS dt
FROM tb_user_log
),
t3 AS(
SELECT
dt,
COUNT(DISTINCT uid) AS dau
FROM t1
GROUP BY dt
),
t2 AS
(SELECT 
uid,
MIN(DATE(in_time)) AS dt
FROM tb_user_log
GROUP BY uid)

SELECT
t3.dt,
t3.dau,
ROUND(COUNT(t2.uid)/t3.dau,2) AS uv_new_ratio
FROM t3
LEFT JOIN t2 ON t3.dt =t2.dt
GROUP BY t3.dt,t3.dau
ORDER BY t3.dt;

全部评论

相关推荐

投递恒生电子股份有限公司等公司7个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务