在Oracle数据库中,rank()和row_number()都是用于对查询结果进行排序的窗口函数,但它们有一些区别。
示例:
SELECT emp_name, salary,
RANK() OVER (ORDER BY salary DESC) AS salary_rank
FROM employees;
示例:
SELECT emp_name, salary,
ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num
FROM employees;
总的来说,rank()函数会出现相同排名,而row_number()函数会给每一行都分配唯一的行号。根据具体需求选择合适的函数。