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;

原文地址:https://www.cnblogs.com/lbliubinlb/p/12102271.html