2016-11-23 76 views
-3

我有以下查詢寫入以下數據庫:查詢到大學的數據庫

University Database 的查詢是:

  1. 對於每個部門,發現該部門教官的最高薪水。你可以假設每個部門至少有一名教練。
  2. 找到所有部門中由上述查詢計算出的每部門最高工資的最低部分。

我設法做了第一個,但我被困在第二個。我試圖做的是從第一個查詢中獲得結果,並通過子查詢來獲得第二個問題的結果。

這裏是我的代碼:

SELECT DEPT_NAME, MIN(SALARY) 
    FROM instructor 
    WHERE DEPT_NAME IN 
    (SELECT DEPT_NAME, MAX(SALARY) 
    FROM instructor 
    GROUP BY DEPT_NAME); 

我嘗試不同的變化,但我不能得到它的工作。

+5

這看起來像功課,你有什麼嘗試? – JSR

+0

添加一些示例表格數據和預期結果 - 以及格式化文本。 – jarlh

+2

請在你的問題中顯示你實際上已經_tried_解決問題,並提出一個問題,你有一個_specific_問題。 – Sefe

回答

-1

嘗試這樣:

SELECT DEPARTMENT, MAX(SALARY) 
    FROM <tablename> 
    GROUP BY DEPARTMENT; 
1

假設你的第一個查詢是:

SELECT DEPT_NAME, 
     MAX(SALARY) AS MAX_DEPT_SALARY 
FROM  instructor 
GROUP BY DEPT_NAME 

然後,你可以使用rows從這個作爲你的子查詢來選擇:

SELECT <something> 
FROM (
     SELECT DEPT_NAME, 
        MAX(SALARY) AS MAX_DEPT_SALARY 
     FROM  instructor 
     GROUP BY DEPT_NAME 
     ) 

然後你需要計算出你需要找到的<something>。那麼這個問題給你的答案:

找到最低,跨越所有部門,由上述查詢計算每部門最高工資。

我會讓你完成找到你已經找到的那些部門最高工資的最低限額。

+0

Upvote解決基本問題 - 解決多部分問題的基本結構;然後讓他解決具體問題。 – radarbob