2015-11-03 71 views
0

我有一些SQL可以做但我找不到如何做到這一點。 我有這個疑問:Oracle SQL新條件條件

SELECT ENAME AS Name, SAL AS Salary FROM EMP WHERE (SELECT max(SAL) FROM EMP) = SAL OR (SELECT min(SAL) FROM EMP) = SAL; 

現在我想有它顯示,如果它是最大或最小SAL另一列。

所以,我得到類似的東西:

MaxOrMin Name Salary 
Max  Frank 50,000 
Max  Peter 50,000 
Min  Patric 20,000 

類似的東西。

回答

5

爲此,您可以使用分析功能:

select ename as name, sal as salary, 
     (case when sal = max(sal) over() then 'max' 
      when sal = min(sal) over() then 'min' 
     end) as MaxOrMin 
from emp;