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

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

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

相关推荐

昨天 15:12
门头沟学院 运营
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
昨天 10:44
青岛工学院 Java
机械打工仔:对方没做错任何事,你自己在这自找没趣呢,就算他工资不高,人家定多少薪资是人家的事,况且人家写了1~3年清清楚楚
点赞 评论 收藏
分享
评论
15
2
分享

创作者周榜

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