题解 | #每月及截止当月的答题情况#

每月及截止当月的答题情况

https://www.nowcoder.com/practice/1ce93d5cec5c4243930fc5e8efaaca1e

# 计算每月的月活用户数,其他都以此推算而来
# 难点在于新增用户,需要模仿矩阵
WITH temp_0 AS(
SELECT uid, exam_id, DATE_FORMAT(start_time, "%Y%m") start_month, 
	# 定义新增用户,将单个用户首次登录的时间定义为最初时间,只有等于该时间的才算是首次登录1,其他都是老用户登录
    IF(start_time = MIN(start_time) OVER(PARTITION BY uid), 1, 0) first_time
FROM exam_record
)
# 查询,直接统计月活用户数,对每月的首次登录的用户数求和得到新增用户数,然后根据新增用户数类推出后两个字段
SELECT start_month, COUNT(DISTINCT uid) mau,
        SUM(first_time) month_add_uv,
        MAX(SUM(first_time)) OVER(ORDER BY start_month) max_month_add_uv,
        SUM(SUM(first_time)) OVER(ORDER BY start_month) cum_sum_uv
FROM temp_0
GROUP BY start_month

全部评论

相关推荐

黑皮白袜臭脚体育生:可以看看我的开源仿b站前后端分离微服务项目,技术栈相当先进,符合企业校招需求,具体为springboot security, nacos,openfeign,gateway,redis,elasticsearch,rocketmq,minio,mybatis-plus,mybatis-plus-join,druid,jwt,swagger,gson,hutool,websocket,讯飞星火api,jave,xxl-job,zipkin,slueth,可快速下载所有用到的中间件和远程连接中间件软件而不用麻烦的去官网找包以及只需小改存放路径就可缓存前端静态资源的nginx和前端dist包,无需会任何前端极速实现本机运行前端,所有文档教程只在牛客,有各中间件启动教程,有配套简历写法速成简历,github已经330star
点赞 评论 收藏
分享
2024-12-20 18:56
已编辑
武汉轻工大学 后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务