sql 四大排名函数--简介

 

 

sql 四大排名函数---ROW_NUMBER、RANK、DENSE_RANK、NTILE

 

1.ROW_NUMBER()

定义:ROW_NUMBER()函数作用就是将select查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询, 
比如查询前10个 查询10-100个学生

格式:select    .......   ROW_NUMBER()   over(order by .......)    as  number from.......

 

2.RANK()

定义:RANK()函数,顾名思义排名函数,可以对某一个字段进行排名

格式:select    .......   RANK()  over(order by .......)    as  number from.......

 

3.DENSE_RANK()

定义:DENSE_RANK()函数也是排名函数,和RANK()功能相似

格式:select    ......DENSE_RANK()   over(order by .......)    as  number from.......

 

4.NTILE()

定义:NTILE()函数是将有序分区中的行分发到指定数目的组中,各个组有编号,编号从1开始,就像我们说的’分区’一样 ,分为几个区,一个区会有多少个

 

 

区别:对以上四个函数简单理解如下

示例:

A 90
B 90
C 85
D 80
E 80

1.对于ROWNUBER():就像是同等分数,主课优的排前。排行:12345

2.对于rank():就像是同等分数并列,但排名依然占位子。排行:11344

3.对于dense_rank():就像是同等分数并列,但排名不占位子。排行:11233

4.对于NTILE():定分区数目,自动按分数来划定分区位子。如:N(1),11111;N(3),11233

 

 参考来源:https://blog.csdn.net/shaiguchun9503/article/details/82349050

 

待续:

 

posted @ 2020-12-05 15:10  云谷の风  阅读(519)  评论(0编辑  收藏  举报