2015-12-01 3 views

ответ

0

Я попытался создать таблицу как:

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 | 
+------+----------------+ 
+0

благодарим вас за ответ. Мне просто интересно, будет ли его максимальная средняя зарплата, которая выйдет не по средней зарплате. Я надеюсь, что все получится, спасибо – user5623978

Смежные вопросы