`
乌托邦之爱
  • 浏览: 278478 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

oracel数据库分页方法

 
阅读更多

如从表中取出4-6行的数据;

sql如下:

得到4-6行的数据
select id,age
from zystudent
where id in(
select id 
from zystudent
where rownum<=6 
and 
id not in(
select id from zystudent where rownum<=3)
);

最笨的方法,查询效率很低,不建议使用

select id,name,age from(
select id,name,age,rownum r
from zystudent) where r>=3 and r<=6;

将rownum定义成一个属性,然后调用,很不错的方法

select id,name,age from(
select id,name,age,rownum r
from zystudent where rownum<=6 order by id) where r>=4;

比上一个,更加优化了查询,根本不用遍历全表,就能实现

排序后再取出4-6;
select id,name,age from(
select id,name,age,rownum r
from(select * from zystudent order by id desc) where rownum<=6) where r>=4;

应该将排序的后的表作为要查询的表

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics