题解 | #查询每天刷题通过数最多的前二名用户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个即可。

全部评论

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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