题解 | #查询每天刷题通过数最多的前二名用户id和刷题数#

查询每天刷题通过数最多的前二名用户id和刷题数

https://www.nowcoder.com/practice/b9cc0d5047f94bc0a661c5a0a230b9cd

with A as(select 
                date,
                user_id,
                sum(pass_count) as pass_count
            from 
                questions_pass_record
            group by 
                date,
                user_id)
select 
    a.date,
    a.user_id,
    a.pass_count
from 
    (select 
        date,
        user_id,
        pass_count,
        row_number()over(partition by date order by pass_count desc) as cnt
    from 
        A)a
where 
    a.cnt<=2


临时表先保证每天同个用户的重复记录变为单行,再进行开窗排序,选择前2个即可。

全部评论

相关推荐

在秋招的小白菜很想养修勾:一眼 苍穹外卖+谷粒商城,项目换一换吧,可以找一些付费知识星球博主带带,避免烂大街。多投投大厂,背背八股,你这学历乱杀了,等实习经验到位,到时候大厂闭眼选
投递美团等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务