2016-07-23 75 views
-1

我有這個表:MySQL查詢與一個以上的聚合函數

EMPLOYEES(Code, Name, Surname, Type, Department, Salary) 

我需要顯示與薪酬最高的總費用的部門,而無需使用視圖。那可能嗎?解決方案的觀點是這樣的:

CREATE VIEW DEPEXPENSES (DEPNAME, EXPENSE) AS 
SELECT DEPARTMENT, SUM(SALARY) 
FROM EMPLOYEES 
GROUP BY DEPARTMENT 

SELECT DEPNAME 
FROM DEPEXPENSES 
WHERE EXPENSE=(SELECT MAX(EXPENSE) FROM DEPEXENSES) 

謝謝。

+2

您的文字說samething比你的代碼,否則(你可以在已包含聚合函數的子查詢應用最大聚合函數)做 –

+0

你說得對,我剛剛編輯了這條消息。 – JamieITGirl

回答

1

這個問題不太清楚,但我想你想運行你的第二個查詢,而不使用視圖。一個解決方案是這樣的:

select 
    DEPARTMENT, 
    SUM(SALARY) 
from 
    EMPLOYEES 
group by 
    DEPARTMENT 
having 
    SUM(SALARY)=(
    select MAX(SALARY) from (
     select DEPARTMENT, SUM(SALARY) as SALARY 
     from EMPLOYEES 
     group by DEPARTMENT 
    ) s 
) 

+0

你說得對,我糾正了我的信息。我知道有些DMBS無法識別having子句中的select,所以我需要找到其他方法(如果它存在!)。謝謝。 – JamieITGirl