在 SQL 查询中,ROW_NUMBER() 是一个窗口函数,用于为查询结果集中的每一行分配一个唯一的数字。这个数字代表了该行在结果集中的顺序。ROW_NUMBER() 函数可以在 SELECT 语句中使用,以便为每一行分配一个唯一的行号。
ROW_NUMBER() 函数的语法如下:
ROW_NUMBER() OVER (ORDER BY column_name [ASC | DESC])
其中,ORDER BY 子句用于指定按照哪个列的顺序来分配行号。如果不指定 ORDER BY 子句,则行号将按照任意顺序分配。
例如,假设有一个名为 "employees" 的表,其中包含以下列:id, name, age 和 salary。如果要为每个员工分配一个唯一的行号,并按照工资从高到低的顺序排列,可以使用以下查询:
SELECT id, name, age, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_number
FROM employees;
这将返回一个包含 id, name, age, salary 和 row_number 列的结果集,其中 row_number 列将为每个员工分配一个唯一的行号,并按照工资从高到低的顺序排列。
ROW_NUMBER() 函数在需要对结果集进行分页或者排名等操作时非常有用。
领取专属 10元无门槛券
手把手带您无忧上云