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