题解 | #每天的日活数及新用户占比#
WITH t1 AS(
SELECT uid,MIN(DATE(in_time)) AS dt
FROM tb_user_log
GROUP BY uid
), # 新用户表
t2 AS (
SELECT uid, DATE(in_time) as active_time
FROM tb_user_log
UNION
SELECT uid, DATE(out_time) as active_time
FROM tb_user_log
UNION
SELECT uid, (DATE(in_time)+ INTERVAL 1 DAY) as active_time # 跨天活跃
FROM tb_user_log
WHERE TIMESTAMPDIFF(DAY,in_time,out_time)>=1
) # 用户活跃日期表
SELECT t2.active_time, COUNT(t2.uid) AS dau,
ROUND(COUNT(t1.uid)/COUNT(t2.uid),2) AS uv_new_ratio
FROM t2
LEFT JOIN t1 ON t1.uid = t2.uid and t1.dt = t2.active_time
GROUP BY active_time
ORDER BY active_time
SELECT uid,MIN(DATE(in_time)) AS dt
FROM tb_user_log
GROUP BY uid
), # 新用户表
t2 AS (
SELECT uid, DATE(in_time) as active_time
FROM tb_user_log
UNION
SELECT uid, DATE(out_time) as active_time
FROM tb_user_log
UNION
SELECT uid, (DATE(in_time)+ INTERVAL 1 DAY) as active_time # 跨天活跃
FROM tb_user_log
WHERE TIMESTAMPDIFF(DAY,in_time,out_time)>=1
) # 用户活跃日期表
SELECT t2.active_time, COUNT(t2.uid) AS dau,
ROUND(COUNT(t1.uid)/COUNT(t2.uid),2) AS uv_new_ratio
FROM t2
LEFT JOIN t1 ON t1.uid = t2.uid and t1.dt = t2.active_time
GROUP BY active_time
ORDER BY active_time
全部评论
相关推荐
点赞 评论 收藏
分享
2025-12-17 17:53
门头沟学院 Web前端 点赞 评论 收藏
分享
2025-11-07 10:05
石家庄市第一职业中专学校 后端工程师 StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
阿里云成长空间 772人发布