partition by
时间: 2023-07-19 16:36:11 浏览: 92
详解partition by和group by对比
PARTITION BY 是 SQL 语句中的一个子句,用于指定分组的依据。在使用聚合函数如 SUM、COUNT、AVG 等进行分组汇总时,可以使用 PARTITION BY 子句将数据按照指定的列进行分组,从而实现对分组内部的数据进行聚合计算。例如,以下 SQL 语句可以计算每个部门的平均工资:
```
SELECT department, AVG(salary)
FROM employees
GROUP BY department
```
如果需要按照部门和性别进行分组,则可以使用 PARTITION BY 子句,如下所示:
```
SELECT department, gender, AVG(salary) OVER (PARTITION BY department, gender) AS avg_salary
FROM employees
```
该语句使用了 OVER 子句和 AVG() 函数来计算每个部门和性别的平均工资,PARTITION BY 子句指定了按照部门和性别进行分组。
阅读全文