如何使用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;

你不工作是什么意思?谢谢你的回复。我只是想知道这是否是最高平均工资,而不是平均工资。我希望一切顺利,谢谢