ROW_NUMBER函數是一種窗口函數,用于為查詢結果集中的每一行分配一個唯一的數值。它通常用于排序或分組查詢結果,并為每一行分配一個連續的數字。
ROW_NUMBER函數在查詢結果中創建一個新的列,該列包含每一行的序號。序號的分配是根據指定的排序規則進行的。例如,可以按照某個列的值進行排序,然后使用ROW_NUMBER函數為每一行分配一個序號。
ROW_NUMBER函數常用于需要對查詢結果進行分頁或篩選的情況。通過為每一行分配一個唯一的序號,可以方便地選擇特定行或實現分頁功能。
以下是一個示例查詢,使用ROW_NUMBER函數對結果集進行排序并分配序號:
SELECT ROW_NUMBER() OVER (ORDER BY column_name) AS row_num, column1, column2 FROM table_name;
在上述示例中,ROW_NUMBER函數按照column_name列的值進行排序,并為每一行分配一個唯一的序號。序號保存在名為row_num的新列中。