Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写子查询MYSQL的正确方法_Mysql_Subquery - Fatal编程技术网

编写子查询MYSQL的正确方法

编写子查询MYSQL的正确方法,mysql,subquery,Mysql,Subquery,我试图列出那些总工作时间比所有员工的平均工作时间长的员工 我觉得我已经正确地设置了查询,但我唯一不确定的是如何编写子查询 SELECT e.emp_id 'Employee ID', e.emp_name 'Employee Name', SUM(a.hrs_w) 'Total Hours Worked' FROM employee e LEFT JOIN action a on e.emp_id = a.emp_id GROUP BY e.emp_id WHERE

我试图列出那些总工作时间比所有员工的平均工作时间长的员工

我觉得我已经正确地设置了查询,但我唯一不确定的是如何编写子查询

SELECT 
    e.emp_id 'Employee ID', 
    e.emp_name 'Employee Name', 
    SUM(a.hrs_w) 'Total Hours Worked'
FROM employee e
LEFT JOIN action a
on e.emp_id = a.emp_id
GROUP BY e.emp_id
WHERE SUM(a.hrs_w) >
                (SELECT (SUM(action.hrs_w) / COUNT(DISTINCT action.emp_id))
                    FROM action)
ORDER BY e.emp_id ASC;
我已经单独测试了子查询,它工作得很好,它返回我想要的值


就在我将查询放在子查询的括号内时,我得到了一个语法错误。

我的错误是使用了WHERE,而我应该使用HAVING

HAVING SUM(a.hrs_w) >
            (SELECT (SUM(action.hrs_w) / COUNT(DISTINCT action.emp_id))
                FROM action)

你知道那种感觉,当你等待10分钟才能在overflow上再次发布时,当你发布时,你发现你使用了where而不是have,你觉得自己很愚蠢……**这就是我现在的感受**如果你认为你自己发现了这个问题,请把它作为公认的答案。