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

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

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

这题算是比较简单的了,这次求新顾客用的累计次数和为1 而不是链接的方法,算是一种新的思路了,大家可以看一看! 因为之前已经说过了如何进行日期的拆分和求顾客的登录次数,说以不在赘述,代码如下

select date,count(uid) as dau,
    round( sum(if(times=1,1,0))/count(uid) ,2)
from
(select *,count(*) over (partition by uid order by date ) as times
from
(select uid,left(in_time,10) as date
from tb_user_log
union 
SELECT uid,left(out_time,10) as date
from tb_user_log) tmp) base
GROUP by date
order by date
全部评论
不需要使用if函数
点赞 回复 分享
发布于 2022-01-22 19:17
为啥拉到其平他台运行发现第四行有报错,有盆友可以解释一下第四行吗
点赞 回复 分享
发布于 2022-03-08 18:38
为什么用 count,不应该用 rank么 rank =1 对应的日期是 该用户第一次 如果count 的用户来了两天 返回的不都是2 么 结果不会出错吗 求大神解答
点赞 回复 分享
发布于 2022-03-25 09:22
优秀,用级联累积求活跃次数,次数为1的就是当天新增用户,这样就不用新增用户表和日活表联结了,感谢大佬~
点赞 回复 分享
发布于 2022-05-05 17:58
sum(if(times=1,1,0))/count(uid) 可以直接写成 avg(times=1) 能省掉if 和 count
点赞 回复 分享
发布于 2022-07-19 00:43
点赞 回复 分享
发布于 2023-09-21 22:06 广西

相关推荐

点赞 评论 收藏
分享
15 1 评论
分享
牛客网
牛客企业服务