Oracle的row_number根据多个字段order by,哪个字段的优先级更高
时间: 2024-02-09 13:12:41 浏览: 154
Oracle row_number() over()解析函数高效实现分页
在使用row_number()函数时,order by子句中指定的第一个字段的优先级最高,第二个字段的优先级次之,以此类推。也就是说,如果要根据多个字段进行排序,并且第一个字段有相同的值,那么将使用第二个字段来确定顺序,以此类推。例如,假设我们有一个名为employees的表,其中包含员工的姓名、薪水和职位,我们想要按照职位和薪水对员工进行排序并使用row_number()函数给他们编号,可以这样写:
```
SELECT name, salary, position, ROW_NUMBER() OVER (ORDER BY position, salary) AS row_num
FROM employees;
```
在这个例子中,如果有多个员工的职位相同,那么将按照他们的薪水来确定顺序。
阅读全文