row_number() over ( partition by [] order by [] )
时间: 2023-11-10 18:05:01 浏览: 83
oracle分析函数row_number() over()使用
这是一个 SQL 语句中的窗口函数,用于给查询结果集中的每一行分配一个行号,行号的分配是基于指定的分区和排序顺序进行的。
其中,partition by 子句用于指定分区列,即按照哪些列进行分组;order by 子句用于指定排序列,即按照哪些列进行排序。
例如,以下 SQL 语句将会为每个部门的员工按照工资从高到低分配一个行号:
```
SELECT
department,
name,
salary,
ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
FROM
employees;
```
阅读全文