SQL四种排名函数
SQL四种排名函数
SQL四种排名函数
⼀、ROW_NUMBER()
Row_number() 在排名是序号 连续 不重复,即使遇到表中的两个⼀样的数值亦是如此
select*,row_number()OVER(order by number )as row_num
from num
结果:
在使⽤row_number() 实现分页时需要特别注意⼀点,over⼦句中的order by 要与SQL排序记录中的order by保持⼀致,否则得到的序号可能不是连续的
select*,row_number()OVER(order by number )as row_num
rank函数的用法from num
ORDER BY id
⼆、rank()
Rank() 函数会把要求排序的值相同的归为⼀组且每组序号⼀样,排序不会连续执⾏
select*,rank()OVER(order by number )as row_num
from num
结果如下:
三、dense_rank()
Dense_rank() 排序是连续的,也会把相同的值分为⼀组且每组排序号⼀样
select*,dense_rank()OVER(order by number )as row_num
from num
四、ntile()
Ntile(group_num) 将所有记录分成group_num个组,每组序号⼀样
select*,ntile(2)OVER(order by number )as row_num
from num

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。