通过子查询和 JOIN | 在 COUNT 上应用 MAX SQL 甲骨文

Applying MAX on COUNT with sub queries and JOIN | SQL Oracle

我正在尝试列出分配给其工作的员工人数最多的项目。

这只列出了给定项目的最高雇员人数...

SELECT MAX(number_employees)
FROM
    (SELECT COUNT(a.employee_id) AS number_employees
    FROM assignment a
    JOIN project p
    ON p.project_id = a.project_id
    GROUP BY a.project_id, p.project_name);

这列出了所有项目的员工人数...

    
SELECT a.project_id, p.project_name, COUNT(a.employee_id) AS number_employees
    FROM assignment a
    JOIN project p
    ON p.project_id = a.project_id
    GROUP BY a.project_id, p.project_name;

但是,我试图列出所有项目,但只列出员工人数最多的项目。

谢谢

您可以使用带有 FETCH 子句的第一个查询,如下所示:

SELECT a.project_id, p.project_name, COUNT(a.employee_id) AS number_employees
 FROM assignment a
 JOIN project p ON p.project_id = a.project_id
GROUP BY a.project_id, p.project_name
order by number_employees desc
fetch first 1 row WITH TIES