SQL中的嵌套聚合函数Max(Avg())

我正在用SQL编写此查询:

select MAX(AVG(salary) ) from employees group by department_id;

首先,我将进行分组department_id,但是接下来,会发生什么?

回答:

如果你有这样的事情

EmployeeId DepartmentId Salary

1 1 10

2 1 30

3 2 30

4 2 40

5 2 20

6 3 40

7 3 50

分组后

DepartmentId    AVG(Salary) 

1 (10+30)/2 = 20

2 (30+40+20)/3 = 30

3 (40+50)/2= 45

因此,下面的查询将返回45作为DepartmentId 3的“最高平均工资”

SELECT MAX(x.avg) 

FROM ( SELECT AVG(salary)as avg FROM employees group by department_id)x;

以上是 SQL中的嵌套聚合函数Max(Avg()) 的全部内容, 来源链接: utcz.com/qa/397380.html

回到顶部