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

平均活跃天数和月活人数

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条件做判断,感觉也不影响啊,为什么运行不了啊? 不加if不可以吗
点赞 回复 分享
发布于 2023-02-19 15:55 江苏
if(MONTH(submit_time)>=10,null,0) 这里不能返回null的,concat函数遇到null就直接返回null了,能通过估计是测试用例里没有月份大于10的数据
点赞 回复 分享
发布于 2023-08-26 21:18 广西

相关推荐

头像
11-04 11:19
中南大学 Java
哇为,遥遥领先
求你了offer啊啊啊啊啊啊啊啊啊啊:我的评价是华为比亚迪是每个混子的温柔乡
点赞 评论 收藏
分享
23 1 评论
分享
牛客网
牛客企业服务