在Oracle中,可以使用ROW_NUMBER()函数结合OVER()子句,来为查询结果集中的行分配一个唯一的连续编号。
例如,以下查询将对employees表中的记录按照salary降序排列,并为每条记录分配一个连续编号:
SELECT
ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num,
employee_id,
first_name,
last_name,
salary
FROM
employees;
在上面的示例中,ROW_NUMBER()函数通过OVER()子句指定了排序规则(ORDER BY salary DESC),并为排序后的结果集中的每一行分配了一个连续的行号。最终的查询结果将包含一个名为row_num的列,其中包含了每条记录的行号。
通过结合ROW_NUMBER()和OVER(),可以很方便地对结果集中的行进行编号,并根据需要进行进一步的分析和处理。