2016-09-29 53 views
-1

我有这个表:如何选择平均数据比SQL中的某些值更高?

enter image description here

如何选择这些部门那里的平均工资比greter的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

标签您正在使用的数据库管理系统。 (MySQL?) – jarlh

+0

您的专栏似乎有名称“name”而不是“instructer”(教师)。 – 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