繁体   English   中英

寻找至少有2名员工的部门

[英]find department with at least 2 employees

我需要使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
如果要计算每个部门的员工,则需要GROUP BY department.id

SELECT department.id, department.name, COUNT(employee.id) AS total_employee
FROM department
INNER JOIN employee
ON department.id = employee.department_id
GROUP BY department.id, department.name
HAVING COUNT(employee.id) >= 2;

尝试这个:

SELECT d.name
FROM department d
WHERE
    (SELECT COUNT(*) FROM employee e
    WHERE d.id = e.department_id) >= 2

这样,如果您想更改限制(而不是2,另一个值),查询将起作用。

如果需要,可以使用INNER JOIN ,将来所有没有员工的部门都将无法使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM