我有一个员工表,它由两列组成:员工和部门 ID 如下
|Employee | DepartmentId
-------------------------
| e1 | 1
| e2 | 1
| e3 | 1
| e4 | 2
| e5 | 2
| e6 | 3
| e7 | 3
| e8 | 3
| e9 | 4
| e10 | 5
| e11 | 6
我想通过简单的查询选择拥有两名以上员工的部门。想出了以下内容:
SELECT Department,
COUNT(Employee) as Quantity
FROM Employees
GROUP BY Department
HAVING (Quantity > 3)
ORDER BY Department
但是在执行过程中它抱怨无效的列名(数量)。我很确定使用聚合函数两次(选择 count() ... 有 count())是不正确的。我错过了什么吗?ps“直截了当”的解决方案是我猜
SELECT Department
FROM (SELECT Department, COUNT(Employee) AS Quantity
FROM Employees
GROUP BY Department)
WHERE Quantity > 5