2015-11-03 82 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;