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;