1. 程式人生 > >SQL中排序函式的用法

SQL中排序函式的用法

SQL中的排序函式有三:1、row_number() over();2、rank() over();3、dense_rank() over(),具體用法如下:
1.row_number() over(partition by 列名 order by 列名 [desc])
其中,partition by 是分組,在組內各自排序。
row_number()函式是一般的排序函式,如有重複,則排序也是一直遞增

2.rank() over(partition by 列名 order by 列名 [desc])
rank()函式是跳躍排序,如有兩個第2名,則排序後為1.2.2.4名,其他與row_number()無異

3.dense_rank() over(partition by 列名 order by 列名 [desc])
dense_rank()函式是連續排序,如有兩個第2名,則排序後為1.2.2.3,其他與row_number()無異

注:這幾個函式都只能在SQL server中使用,MySQL中無法使用