2017-07-27 33 views
1

我想打一個查詢,這個下面的語句:
找到第九員工9日最高的薪水什麼是SQL Developer的一個功能查詢

我發現下面的查詢從谷歌

SELECT * FROM EMPLOYEE e1 
WHERE N-1 = 
      (SELECT COUNT(e2.ORIG_SALARY) FROM EMPLOYEE e2 
        WHERE e2.ORIG_SALARY > e1.ORIG_SALARY) 
in this query what is functioning role of " e1, e2 & N-1 " 

請幫忙描述一下。

在此先感謝

+0

是在此查詢中什麼是「e1,e2,&n-1」的功能角色 –

回答

1

e1,e2是別名。 N是數字其他。在你的情況下是9

此查詢具有相關的子查詢。對於來自表員工的每一行,它會計算薪水較高的員工的數量。爲什麼(N-1,9-1 = 8)因爲如果你發現有8名僱員工資較高。目前排名可能是第9名。

但對我而言,這個解決方案並不清楚。 我更喜歡這個分析功能。

Select * from (
SELECT e1.*, DENSE_RANK() OVER (ORDER BY e1.sal) rn FROM emp e1) where rn =9; 



Select * from (
SELECT e1.*, row_number() OVER (ORDER BY e1.sal) rn FROM emp e1) where rn = 9;