天天看點

排名函數 row_number()over(order by)用法

1、 定義

簡單的說row_number()從1開始,為每一條分組記錄傳回一個數字,這裡的ROW_NUMBER() OVER (ORDER BY 【列名】DESC) 是先把【列名】降序排列,再為降序以後的每條【列名】記錄傳回一個降序序号,序号從1開始,依次往下排。

排名函數 “ROW_NUMBER” 必須有 ORDER BY 子句。

2、簡單示例

排名函數 row_number()over(order by)用法
用排名函數進行查詢:
select * ,ROW_NUMBER() OVER(ORDER BY distId desc) as num from districtInfo
           

【查詢語句說明】首先明确查詢的結果為 *,num ,而 ROW_NUMBER() OVER(ORDER BY distId desc) 的作用是将查詢的結果按照disId降序排列,給每條記錄添加一個排名序号num(從1開始排)。

查找的結果:
排名函數 row_number()over(order by)用法