三个排序函数简介:
1、row_number()函数,为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号
语法: select 别名.*, row_number() over(order by 子句 ) from 表名 别名;
2、rank()函数:主要解决over子句排序字段值相同的情况
语法:select 别名.*, rank() over(order by 子句 ) from 表名 别名;
3、dense_rank函数:功能与rank函数类似,dense_rank函数在生成序号时是连续的,而rank函数生成的序号有可能不连续。dense_rank函数出现相同排名时,将不跳过相同排名号,rank值紧接上一次的rank值
语法:select 别名.*, dense_rank() over(order by 子句 ) from 表名 别名;