SQL函數 ROW_NUMBER

ROW_NUMBER() OVER ( [ <partition_by_clause> ] <order_by_clause> )


傳回結果集資料分割內某資料列的序號,序號從 1 開始,每個資料分割第一個資料列的序。(說白話一點就是說幫每個查尋回來的資料列給予自動編號) 例如 :
select row_number() over (order by fieldname asc) number,fieldname from tablename


引數
<partition_by_clause>將 FROM 子句所產生的結果集分成套用 ROW_NUMBER 函數的資料分割。
如需 PARTITION BY 語法,請參閱<OVER 子句 (Transact-SQL)>。

<order_by_clause>決定將 ROW_NUMBER 值指派給資料分割中之資料列的順序。如需詳細資訊, 請參閱<ORDER BY 子句 (Transact-SQL)>。 在排名函數中使用 <order_by_clause> 時,整數無法表示資料行。

傳回類型
bigint
備註
ORDER BY 子句決定了在指定資料分割內,將唯一 ROW_NUMBER 指派給資料列的順序。

詳細說明請參閱MSDN

留言