2011-12-29 39 views
0

的日期四分之一我必須從日期的幫助下從下表中檢索最高薪酬的員工姓名,工資和各自的季度。要找出最高值,從表

Table name: Emp 
------------------ 
Empname  Salary  Date 
Hunter  3260000  31aug2011 
Antony  2000000  30nov2011 
Mark  1800000  1dec2011 
Gabriel  2300000  31oct2011 
Christian 2400000  31oct2011 
Gabriel  2250000  30Nov2011 
Hunter  2280000  30sep2011 

請幫忙。提前致謝。

甲骨文 - 11g第

+0

你想看到的最高** **整體薪酬,或者每季度最高** ** – 2011-12-29 12:04:38

+0

總體最高工資,並且低於所述年份的哪個季度。 – shubcbe 2011-12-30 06:00:06

回答

6
SELECT empname, 
     salary, 
     to_char("DATE", 'Q') 
FROM (
    SELECT empname, 
      salary, 
      "DATE", 
      dense_rank() over (order by salaray desc) as rnk 
    FROM emp 
) t 
where rnk = 1 

使用保留字(DATE)作爲列名是不是一個很好的主意...

+0

+1和...可能用戶需要dense_rank()結束(**分區由trunc(日期,'Q')**順序由salaray desc)作爲rnk – 2011-12-29 12:02:54

+1

@FlorinGhita:它不清楚從我的原始問題是薪水應該是總體最高還是每季度最高。 – 2011-12-29 12:03:48

+0

您可以給我查詢兩種情況: 1.需要顯示總體最高工資和相應的季度。 2.每季度最高Sal,應該顯示哪個季度和誰獲得最高薪酬。 – shubcbe 2011-12-30 06:03:02