在 SQL Server 中,ROW_NUMBER() 函數用于為結果集中的行分配唯一的連續編號。它常用于排序和分頁操作。
語法:
ROW_NUMBER() OVER (ORDER BY column_name1 [, column_name2, ...])
參數說明:
示例: 假設有一個名為 “employees” 的表,包含以下列:employee_id、first_name 和 last_name。我們想要按照 first_name 列的升序給結果集中的行分配連續的編號,可以使用以下查詢:
SELECT employee_id, first_name, last_name,
ROW_NUMBER() OVER (ORDER BY first_name) AS row_num
FROM employees
這將返回一個結果集,其中每一行都包含 employee_id、first_name、last_name 和 row_num 列。row_num 列將包含按照 first_name 列升序排序的行的連續編號。
在實際應用中,ROW_NUMBER() 函數通常與其他函數(比如 RANK()、DENSE_RANK())或條件語句一起使用,以實現更復雜的排序和分頁需求。