题解 | #平均活跃天数和月活人数#

平均活跃天数和月活人数

http://www.nowcoder.com/practice/9e2fb674b58b4f60ac765b7a37dde1b9




select CONCAT(YEAR(submit_time),if(MONTH(submit_time)>=10,null,0),MONTH(submit_time)) month,
round(count(distinct uid,day(submit_time))/count(distinct uid),2 ) as avg_active_days,
count(distinct uid) mau
from exam_record
where submit_time is not null and YEAR(submit_time) = 2021
group by month

重点:计算月活次数的时候,一定要考虑去除同一个用户在一天内多次做答的情况

count(distinct uid,day(submit_time))
全部评论
if(MONTH(submit_time)>=10,null,0) 这里不能返回null的,concat函数遇到null就直接返回null了,能通过估计是测试用例里没有月份大于10的数据
点赞 回复 分享
发布于 2023-08-26 21:18 广西
我的思路和你的一样,不过我第一行没有用if条件做判断,感觉也不影响啊,为什么运行不了啊? 不加if不可以吗
点赞 回复 分享
发布于 2023-02-19 15:55 江苏

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
MinJerous:虽然我一直说 计算机不怎么卡学历 但是至少得一本
点赞 评论 收藏
分享
评论
24
1
分享

创作者周榜

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