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

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

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

WITH t0 AS (
	SELECT DISTINCT
		uid,
		date( in_time ) AS dt,
		min(
		date( in_time )) over ( PARTITION BY uid ) AS new_dt 
	FROM
		tb_user_log UNION
	SELECT DISTINCT
		uid,
		date( out_time ) AS dt,
		min(
		date( in_time )) over ( PARTITION BY uid ) AS new_dt 
	FROM
		tb_user_log 
	) SELECT
	dt,
	count(*) AS dau,
	round( sum( cnt )/ count(*), 2 ) AS uv_new_ratio 
FROM
	( SELECT *, IF ( dt = new_dt, 1, 0 ) AS cnt FROM t0 ORDER BY 2 ) t 
GROUP BY
	1

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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