oracle分页查询

来源:互联网 发布:淘宝快递打印机 编辑:程序博客网 时间:2024/06/06 13:58

oracle分页查询

 

1.一个通用的格式如下:

--rownum 是记录序号(1,2,3...),
--注意:如果 SQL 语句中有 ORDER BY ... 排序的时候,rownum 居然是先“标号”后排序

  SELECT * FROM
  (
        SELECT A.*, rownum r
        FROM
        (
              SELECT *
              FROM tas_asset
              --ORDER BY PubTime DESC --排序只能写在这里,不能写在外面,要特别小心。
        ) A
        WHERE rownum <= 10
  ) B
  WHERE r > 5;

 

2.如果不需要排序,则可以少一层嵌套

select * from (
select rownum r,tas_asset.* from tas_asset --这里就算有排序,事实上也没用。
)
where r between 10 and 20

 

 

3.简单的查找最大值或最小值时,也可以这样:

--取最大的几个值:
Select   * 
From   (Select * From  tas_asset Order by id desc,place_id  Desc)  
Where   RowNum   <   5;  


--取最大的几个值:
Select   * 
From   (Select * From  tas_asset Order by id asc,place_id  asc)  
Where   RowNum   <   5;  

原创粉丝点击