簡體   English   中英

不是單個組的組函數Oracle SQL

[英]Not a single-group group function Oracle SQL

我有下表: 在此處輸入圖片說明

我必須找到員工人數最多的部門的名稱和國家/地區。

SELECT d.department_name, c.country_name FROM employees e, departments d, locations l, countries c
WHERE d.location_id = l.location_id AND l.country_id = c.country_id
HAVING MAX(e.employee_id) = (SELECT MAX(MAX(employee_id)) FROM employees GROUP BY department_id);

我收到的不是單組分組功能錯誤。 這是為什么?

如果沒錯,這就是您要尋找的

SELECT * 
FROM   (SELECT d.department_name, 
               c.country_name 
        FROM   employees e 
               INNER JOIN departments d 
                       ON e.department_id = d.department_id 
               INNER JOIN locations l 
                       ON d.location_id = l.location_id 
               INNER JOIN countries c 
                       ON l.country_id = c.country_id 
        GROUP  BY d.department_name, 
                  c.country_name 
        ORDER  BY Count(1) DESC) 
WHERE  ROWNUM = 1 

這是你想要的嗎?

SELECT d.department_name, c.country_name FROM employees e, departments d, locations l, countries c
WHERE d.location_id = l.location_id AND l.country_id = c.country_id
AND ROWNUM = 1
ORDER BY e.employee_id DESC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM