![](/img/trans.png)
[英]Using sub-query find the average salary of employees for each department , order employees within a department by age
[英]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.