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

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

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

/*
* 月活用户数:COUNT(DISTINCT uid)
* 新增用户数:
*    找出每个用户第一次活跃的月份,当第一次活跃的月份等于当前月份时,即该用户为新增活跃用户
* 截止当月的单月最大新增用户数:
*    max(month_add_uv) over(ORDER BY start_month)
* 截止当月的累积用户数:
*    计算列 月新增用户数 的累计和即可
*/
SELECT start_month, mau, month_add_uv,
    MAX(month_add_uv) OVER(ORDER BY start_month) AS max_month_add_uv,
    SUM(month_add_uv) OVER(ORDER BY start_month) AS cum_sum_uv
FROM (
    SELECT start_month,
        COUNT(DISTINCT uid) AS mau,
        COUNT(DISTINCT IF(start_month = first_act_month, uid, NULL)) AS month_add_uv
    FROM (
        SELECT uid,
            DATE_FORMAT(start_time, '%Y%m') AS start_month,
            MIN(DATE_FORMAT(start_time, '%Y%m')) OVER(PARTITION BY uid ORDER BY DATE_FORMAT(start_time, '%Y%m')) AS first_act_month
        FROM exam_record
    )first_t
    GROUP BY start_month
)cal_t
ORDER BY start_month
全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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