oracle partition by用法
时间: 2023-06-05 22:47:54 浏览: 242
oracle 分区
Oracle中的PARTITION BY语句用于在查询中对数据进行分区。它可以将查询结果按照一个或多个列进行分组,并对每个分组独立地执行聚合函数。例如,如果在查询中使用PARTITION BY department_id,那么查询将按照部门ID对数据进行分组,并为每个部门计算平均工资。
PARTITION BY语句的语法格式如下:
```
SELECT column1, column2, aggregate_function(column3) OVER (PARTITION BY column1, column2 ORDER BY column3)
FROM table_name;
```
其中,column1, column2, column3是表中的列名,aggregate_function是聚合函数(如SUM, AVG, COUNT等),PARTITION BY 后面是分组条件,可以有多个列, ORDER BY 是排序条件。
例如:
```
SELECT deptno, job, AVG(sal) OVER (PARTITION BY deptno) from emp;
```
这个查询会按照deptno进行分组,并算出每个部门的平均工资。
阅读全文