Mysql 从最小的部门寻找员工

Mysql 从最小的部门寻找员工,mysql,sql,Mysql,Sql,如何从员工最少的部门找到员工名单 员工的表结构为: | eid | ename | department | 如果希望部门的员工人数最少,只需从员工表中选择行并按部门分组即可获得每个部门的行数。您可以按计数升序排序,并限制为1行,以有效地获得最小值: SELECT department, COUNT(*) AS numEmployees FROM employees GROUP BY department ORDER BY numEmployees ASC LIMIT 1; 然后,要获取该部

如何从员工最少的部门找到员工名单

员工的表结构为:

| eid | ename | department |

如果希望部门的员工人数最少,只需从员工表中选择行并按部门分组即可获得每个部门的行数。您可以按计数升序排序,并限制为1行,以有效地获得最小值:

SELECT department, COUNT(*) AS numEmployees
FROM employees
GROUP BY department
ORDER BY numEmployees ASC
LIMIT 1;
然后,要获取该部门所有员工的姓名,只需选择姓名并使用该子查询作为条件:

SELECT ename
FROM employees
WHERE department = (
   SELECT department
   FROM employees
   GROUP BY department
   ORDER BY COUNT(*) ASC
   LIMIT 1);

为了清楚起见,您想从emp数量在所有部门中最低的部门获取emp名称吗?您的数据是如何结构化的?在你的问题中,你需要更详细一点,你说的“最低”员工是什么意思?@McAdam331我想他指的是最低数量的员工,尽管他还没有对此发表评论this@jbailie1991这是有道理的。阿维,这个问题很广泛也不清楚。尽量不要让你的标题和问题完全一样。此外,更新您的问题以显示您的表结构和一些示例数据,以便其他用户可以重新创建它。此外,展示您迄今为止所做的尝试将有助于您理解为什么它不起作用。最低意味着员工人数最少。非常感谢,我能够计算员工人数,但我不确定如何使用子查询查找他们的姓名。没问题。如果这是您使用的解决方案,请单击旁边的复选标记接受答案,以便将来的读者知道哪个答案解决了您的问题。