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;

相关文章:

  • 2021-10-29
  • 2021-08-26
  • 2021-07-19
  • 2021-10-30
  • 2022-12-23
猜你喜欢
  • 2021-06-25
  • 2021-06-12
  • 2021-05-03
  • 2021-12-31
  • 2021-12-31
  • 2021-08-10
  • 2021-12-02
相关资源
相似解决方案