在 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())或条件语句一起使用,以实现更复杂的排序和分页需求。