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

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

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

思考

很有意思的一道题目,本身不难,无非是窗口函数的使用,但有一点很巧妙,即每月的新增用户,一开始一直在思索这个应该怎么用SQL语言表示,看到高赞的大佬才知道:将首次出现(即start_time = min(start_time))的用户mark为1,非首次出现的标记为0,之后在汇总时sum求和即为每月新增用户,学习到了

SELECT month, COUNT(DISTINCT uid), SUM(judge) month_add_uv
    , MAX(SUM(judge)) OVER(order by month)
    , SUM(SUM(judge)) OVER(order by month)
FROM (SELECT uid, date_format(start_time, '%Y%m') month
        , IF(start_time = MIN(start_time) OVER(partition by uid), 1, 0) judge
    FROM exam_record) t1
GROUP BY month

全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

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