如何使用mysql获得最大平均sal?
如何在如何使用mysql获得最大平均sal?,mysql,Mysql,如何在员工表中获取最大平均sal 我有 约伯、德普诺和萨尔 我已将此用于查询: select max(avg(sal)) from emp group by job; 但它不起作用。我尝试将您的表创建为: mysql> SELECT * FROM emp; +------+--------+-------+ | job | deptno | sal | +------+--------+-------+ | SSD | 1 | 58000 | | SD |
员工表中获取最大平均sal
我有
约伯、德普诺和萨尔
我已将此用于查询:
select max(avg(sal))
from emp
group by job;
但它不起作用。我尝试将您的表创建为:
mysql> SELECT * FROM emp;
+------+--------+-------+
| job | deptno | sal |
+------+--------+-------+
| SSD | 1 | 58000 |
| SD | 1 | 20000 |
| GD | 1 | 35000 |
| AO | 2 | 40000 |
| AhO | 2 | 25000 |
| AhO | 2 | 55000 |
| SSD | 1 | 68000 |
+------+--------+-------+
7 rows in set (0.00 sec)
我运行了您的查询,因此得到:
mysql> select max(avg(sal)) from emp group by job;
ERROR 1111 (HY000): Invalid use of group function
这是因为您嵌套了两个聚合函数
为了解决您的问题,我将您的查询更改如下:
SELECT
job,
AVG(sal) AS average_salary
FROM emp
GROUP BY job
ORDER BY average_salary DESC
LIMIT 1;
+------+----------------+
| job | average_salary |
+------+----------------+
| SSD | 63000.0000 |
+------+----------------+
而不是对avg()应用max()函数。尝试输入按工作分组的所有员工的平均值()
SELECT Avg(sal) AS avg_sal
FROM emp
GROUP BY job;
然后对子查询应用max()函数
SELECT Max(avg_sal)
FROM (SELECT Avg(sal) AS avg_sal
FROM emp
GROUP BY job) AS sub_tab;
你不工作是什么意思?谢谢你的回复。我只是想知道这是否是最高平均工资,而不是平均工资。我希望一切顺利,谢谢