2016-09-29 3 views
-1

У меня есть эта таблица:Как выбрать средние данные, чем какое-либо значение в SQL?

enter image description here

Как я могу выбрать среднюю зарплату тех департаментов, где средняя зарплата составляет Гретер чем 65000?

Я попробовал этот запрос, но он не работает:

SELECT * 
FROM 
    (SELECT 
     `instructer`.`dept_name`, 
     AVG(`instructer`.`salary`) AS Average 
    FROM 
     `instructer` 
    GROUP BY 
     `instructer`.`dept_name) 
WHERE 
    `Average` > 65000 

Solved Query:

SELECT 
     `instructer`.`dept_name`, AVG(`instructer`.`salary`) AS AVGSalary 
FROM 
     `instructer` 
GROUP BY 
     `instructer`.`dept_name` 
HAVING 
     (`AVGSalary`) > 65000 
+1

'HAVING AVG (' instructer'.'salary')> 65000' – jarlh

+2

Tag СУБД вы используете. (MySQL?) – jarlh

+0

Ваша колонка, похоже, имеет имя «имя», а не «инструктор» (инструктор). – mvw

ответ

0

Попробуйте ниже запрос:

SELECT `instructer`.`dept_name`, AVG(`instructer`.`salary`) 
       AS Average 
       FROM `instructer` 
       GROUP BY `instructer`.`dept_name HAVING AVG(`instructer`.`salary`) > 65000 

Я надеюсь, что это полезно для вас

2

Эй Попробуйте этот запрос надеюсь, это поможет вам

select DEPARTMENT, avg(SALARY) as AVGSalary 
from instructer 
group by DEPARTMENT 
having avg(SALARY) >65000 
+0

это должно использоваться, потому что оно делает только ОДИН запрос, никакого подзапроса не требуется – swe

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