Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 找到至少有2名员工的部门_Mysql_Sql - Fatal编程技术网

Mysql 找到至少有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

我需要做一个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.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