SQL四大排序函数


1、ROW_NUMBER()函数作用就是将SELECT查询到的数据进行排序,每一条数据加一个序号

SELECT 
ROW_NUMBER() OVER (ORDER BY SCORE DESC) AS [RANK],*
FROM Scores;

SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY SCORE DESC) AS [RANK],*
FROM Scores
) t WHERE t.RANK=2;

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

SELECT RANK() OVER (ORDER BY SCORE DESC) AS [RANK],*
FROM Scores;

3、DENSE_RANK()函数也是排名函数,和RANK()功能相似,也是对字段进行排名

SELECT 
DENSE_RANK() OVER (ORDER BY SCORE DESC) AS [RANK],*
FROM Scores;

 

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

SELECT NTILE(1) OVER (ORDER BY SCORE DESC) AS [RANK],* FROM Scores;
SELECT NTILE(2) OVER (ORDER BY SCORE DESC) AS [RANK],* FROM Scores;
SELECT NTILE(3) OVER (ORDER BY SCORE DESC) AS [RANK],* FROM Scores;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM