我正在尝试列出总工作时间更长的员工,然后列出所有员工的平均工作时间
我觉得我已经正确设置了查询,但我唯一不确定的是如何编写子查询。
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;
我自己测试子查询并且它工作正常,它返回我之后的值。
当我将查询放在子查询的括号中时,我得到语法错误。
答案 0 :(得分:0)
我的错误是当我应该使用HAVING
时使用WHEREHAVING SUM(a.hrs_w) >
(SELECT (SUM(action.hrs_w) / COUNT(DISTINCT action.emp_id))
FROM action)