dense_rank(),RANK()和row_number()是SQL中的排序函数。
为方便后面的函数差异比对清晰直观,准备数据表如下:
1.dense_rank() 函数语法:dense_rank() over( order by 列名 【desc/asc】)
DENSE_RANK()是连续排序,比如遇到相同的数值时,排序时,是1 2 2 3 序号连续的。
按照分数从高到低排名:
select name,score , dense_rank() over( order by score desc) from test.test001;
按照分数从低到高排序:
文章来源:https://www.toymoban.com/news/detail-696247.html
2.RANK()函数语法:rank() over(order by 列名【desc/asc】)
RANK()是不连续排序,比如遇到相同的数值时,排序时,是1 2 2 4 ,会跳过3。
比如:
3.row_number()函数语法:row_number() over(order by 列名) 【desc/asc】)
row_number()是不考虑重复数据的,比如遇到相同的数值时,排序时,是1 2 3 4 ,依次排序。
比如:
文章来源地址https://www.toymoban.com/news/detail-696247.html
到了这里,关于sql中的排序函数dense_rank(),RANK()和row_number()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!