一张员工表,员工表中有id,姓名,工资,找到至少比两个员工工资高的员工

解决方案 »

  1.   

    select * from 
    (select a.*,rownum from table
     order by 工资)
    where rownum>=3
      

  2.   

    SELECT * FROM TABLENAME WHERE 工资 > ( SELECT MAX(工资) FROM (SELECT DISTINCT 工资 FROM TABLENAME ORDER BY 工资 ) WHERE ROWNUM <= 2 )
      

  3.   

    SELECT Q.ID,Q.NAME, Q.SALARY
      FROM (SELECT T.ID,
                   T.NAME,
                   T.SALARY,
                   RANK() OVER(ORDER BY T.SALARY ASC) ORD
              FROM TAB1 T) Q
     WHERE Q.ORD >= 3
      

  4.   

    select t1.*
      from table_name t1,
           (select t2.*, rownum from table_name t2 order by t2.SALARY) t3
     where t3.rownum = 2
       and t1.SALARY > t3.SALARY
      

  5.   

    SELECT A.ID,A.NAME, A.SALARY 
      FROM (SELECT B.ID, 
                  B.NAME, 
                  B.SALARY, 
                  B.ROWNUM ROW
              FROM TAB1 B
                 ORDER BY B.SALARY) A
    WHERE A.ROW >= 3