MySQl 分析函数

ROW_NUMBER

表示根据 col1 分组,在分组内部根据 col2 排序,而这个值就表示每组内部排序后的顺序编码

1
row_number() over( partition by col1 order by col2);

ROW_NUMBER 返回行信息没有排名

RANK DENSE_RANK

1
2
3
4
5
select *,
row_number () over(partition by s.SId order by s.score) as row_number1,
rank () over(partition by s.SId order by s.score) as rank1,
dense_rank () over(partition by s.SId order by s.score) as dense_rank1
from SC s ;

ROW_NUMBER 连续排名
RANK 值相同排名相同,排名跳跃
DENSE_RANK 值相同排名相同,排名连续

查询所有同学最高分对应的科目名称

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2025 SunZhiqi

此时无声胜有声!

支付宝
微信