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

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

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

SELECT t1.date, t1.user_id, t1.pass_count
FROM
(SELECT date, user_id, pass_count, RANK() OVER(PARTITION BY date ORDER BY pass_count desc) AS rank_
FROM questions_pass_record) t1
WHERE rank_ <= 2
ORDER BY date ASC



小白做错几次才意识到对于每时间段前几不能直接用limit,要先用RANK() OVER(PARTITION BY date ORDER BY pass_count desc)窗口函数算出排名再用WHERE <= 2条件求得

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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