Mysql 找到至少有2名员工的部门
我需要做一个sql问题,它将显示所有部门中至少有2人Mysql 找到至少有2名员工的部门,mysql,sql,Mysql,Sql,我需要做一个sql问题,它将显示所有部门中至少有2人 SELECT department.name FROM department INNER JOIN employee ON department.id = employee.department_id GROUP BY employee.id HAVING COUNT(employee.id) >= 2; 它没有显示此查询的任何内容我认为您在错误的列中使用了GROUP BY。 如果要统计每个部门的员工,则需要按department.i
SELECT department.name
FROM department
INNER JOIN employee
ON department.id = employee.department_id
GROUP BY employee.id
HAVING COUNT(employee.id) >= 2;
它没有显示此查询的任何内容我认为您在错误的列中使用了GROUP BY。
如果要统计每个部门的员工,则需要按department.id分组
试试这个:
SELECT d.name
FROM department d
WHERE
(SELECT COUNT(*) FROM employee e
WHERE d.id = e.department_id) >= 2
通过这种方式,如果希望更改限制而不是2,则查询将使用另一个值
如果您想使用内部联接,将来所有没有员工的部门都不能使用它。您应该按部门名称分组。
SELECT d.name
FROM department d
WHERE
(SELECT COUNT(*) FROM employee e
WHERE d.id = e.department_id) >= 2