如何在oracle的emp表中找到前三名最高薪水?

Sun*_*i86 4 sql oracle oracle10g

如何emp在oracle的表中找到前三名最高薪水?

Bha*_*rat 13

你可以试试.

   SELECT * FROM 
     (
      SELECT EMPLOYEE, LAST_NAME, SALARY,
      RANK() OVER (ORDER BY SALARY DESC) EMPRANK
      FROM emp
     )
    WHERE emprank <= 3;
Run Code Online (Sandbox Code Playgroud)

即使有两名员工具有相同的最高薪水,这也会给出正确的输出


Aam*_*mir 11

SELECT  *FROM 
    (
    SELECT *FROM emp 
    ORDER BY Salary desc
    )
WHERE rownum <= 3
ORDER BY Salary ;
Run Code Online (Sandbox Code Playgroud)