【发布时间】:2019-03-17 00:35:51
【问题描述】:
我有这两张表,我需要找到员工人数最多的部门名称。
其他解决方案不适用于 Oracle,所以我发布了这个问题。此外,如果可以彻底解释查询,那将非常有帮助,因为我发现很难将其可视化。
EMPLOYEE
EMPNO EMPNAME MANAGER SALARY DEPT_NO
1 Puja 6 30000 2
2 Purabi 1 15000 3
3 Barun 6 23000 2
4 Sudha 1 20000 1
5 Amal 2 20000 1
6 Rakesh 3 30000 4
DEPARTMENT
Dept_No Dept_Name Location
1 Production LaneA
2 Marketing LaneB
3 Sales LaneC
4 HR LaneD
到目前为止,我可以设法获得最多的员工。所以我在想是否可以编写另一个子查询,在其中再次计算部门中的员工,并将它们与我在第一个查询中计算的 max_num_emp 进行比较。
这是检索最大员工人数的查询。它不返回 dept_no。
select count(dept_no)
from employee
group by dept_no
order by count(dept_no) desc
fetch first row only;
预期输出
DEPT_NAME
Production
Marketing
我还可以在查询中添加 dept_no 列,然后我将不得不以某种方式找出如何获得最大值,这在某种程度上给了我错误,因为查询违反了一些规则。我实际上尝试过做 max(above query)。
所以我想只获得最大的员工人数,然后确定拥有这么多员工的所有部门并显示他们的名字。
【问题讨论】:
-
你试过什么?例如,您的查询可能会获取每个部门的员工人数。
-
我已经添加了。请检查已编辑的问题。