Sql面试题之一

如下图(passing_number)表,id是主键,简化如下:
 
第1行表示id为1的用户通过了4个题目;

.....

第6行表示id为6的用户通过了4个题目;

 

请你根据上表,输出通过的题目的排名,通过题目个数相同的,排名相同,此时按照id升序排列,数据如下:

id为5的用户通过了5个排名第1,

id为1和id为6的都通过了2个,并列第2

 

解决方法:

select id,number, dense_rank()over(order by number desc) rank
from passing_number
order by number desc , id asc

posted @ 2020-09-01 16:10  清风扶杨柳  阅读(46)  评论(0)    收藏  举报