oracle中 有一张表 tableA 有5个字段 a1, a2, a3, a4, a5要求查出 按升序的所有记录中的 3-7条数据

解决方案 »

  1.   

    SELECT *
      FROM (SELECT rownum rn, t.*
              FROM (SELECT * FROM tableA ORDER BY a1, a2, a3, a4, a5) t
             WHERE rownum <= 7)
     WHERE rn >= 3;
      

  2.   

    --按照什么排序咯?例如a1
    select a1,a2,a3,a4,a5
    from (select a1,a2,a3,a4,a5,row_number() over(order by a1) rn) 
    where rn between 3 and 7
      

  3.   

    SELECT a1,a2,a3,a4,a5  
    FROM (
    SELECT t1.*, ROW_NUMBER() OVER(ORDER BY a1,a2,a3,a4,a5) "RN" FROM tableA t1
    ) t2
    WHERE RN >=3 AND RN <=7