SQL语句:rank() over()用法记录
一.rank over(order by 列名) 1、 按age升序给运动员排名 select pid,name,age,rank() over(order by age) as rank_num from players; 可以看到有好几个age相同的运动员,他们并列排在第2。 2、查询排名为第10的学生的姓名,年龄 select name,age from (select pid,name,age,rank() over(order by age) as rank_num from players) where rank_num= 10; 整个结果集为一个分组,下面我们可以指定通过partition by 给结果集进行分组, rank在每个分组内进行排名。 二:rank over(partition by 列名,order by 列名) partition by用于给结果集分组。 rank在每个分组内进行排名。 1、按年龄分组,组内按分数降序排名 select name,age,score,rank() over(partition by age order by score desc) as rank_num from players; 来源: CSDN 作者: 那一抹阳光爱发呆 链接: https://blog.csdn.net/m0_37914467/article