mysql排序的四种函数

mysql排序的四种函数

1.row_number():依次递增排名,无重复排名

用法:ROW_NUMBER() OVER(ORDER BY COLUMN)

结果:

Row_Num    colum

     1              2200

     2              2150

     3             1780

     4             1125

2.rank():相同分数有重复排名,但是重复后下一个人按照实际排名

用法:RANK() OVER (ORDER BY COL2)

结果:

employerid       deptid      salary              Leve 
----------- ----------- ---------------------------------------
1                         1          15000.0               1

2                         1          10000.0               2

4                         2          21000.0               1

3                         2          19000.0               2
————————————————

3.dense_rank():分数一致排名一致,分数不一致排名+1

用法:select Score,dense_rank() over(order by Score DESC) as 'Rank' from Scores

结果:

employerid       deptid      salary              Leve 
----------- ----------- ---------------------------------------
1                         1          15000.0               1

2                         1          10000.0               2

4                         2          21000.0               1

3                         2          19000.0               2

7                         3          44500.0               1

5                         3          14500.0               2

6                         3          10000.0               3
————————————————

4.NTILE(4):分组排名,里面的数字是几,最多排名就是几,里面的数字是4,最多的排名就是4

用法:SELECT ntile(300000) over(ORDER BY candyAmount DESC) as row_mun,candyAmount from customer;

结果:mysql排序的四种函数_第1张图片mysql排序的四种函数_第2张图片

你可能感兴趣的:(mysql)