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

平均活跃天数和月活人数

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 江苏

相关推荐

评论
24
1
分享

创作者周榜

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