MySQL 三种排序函数(rank()、row | 您所在的位置:网站首页 › 英语美句经典100句 › MySQL 三种排序函数(rank()、row |
三种排序函数,分别是rank()和dense_rank()和row_number()函数,简单说一下它们的区别: 函数含义例子rank()考虑数据的重复性 ,挤占坑位1,2,2,4dense_rank()考虑数据重复性,不挤占坑位1,2,2,3row_number()不考虑数据的重复性,按照顺序依次标上顺序1,2,3,4下面介绍它们的基本语法: RANK()函数 RANK() OVER([query_partition_clause] order_by_clause)query_partition_clause:分组 order_by_clause:排序 DENSE_RANK()函数 DENSE_RANK() OVER([query_partition_clause] order_by_clause)其用法类似于RANK()函数,所以在此就用一个例子来演示这两个函数的用法: select Score ,dense_rank() over( order by S.Score desc) as "Rank" from Scores S实现的是分数排名,分数相同的排名相同,下一个名次是一个连续的整数值。其实是leetcode上的一道题分数排名 ROW_NUMBER()函数语法如下: ROW_NUMBER() OVER([query_partition_clause] order_by_clause)用法和上面两个类类似,在此就不再赘述了。 |
CopyRight 2018-2019 实验室设备网 版权所有 |