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

SQL中排序函數的用法

函數 partition row mysql part order 兩個 無法使用 重復

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中無法使用

SQL中排序函數的用法