您的位置:首页 > 数据库 > Oracle

oracle使用rownum做分页查询

2012-03-05 10:59 651 查看
select b.* from
(
select t.*,rownum rr from v_view_forta t
) b
where b.rr  between 5 and 8
order by b.rr

--1,13 表中group字段
020801
020801
020801
0201
0105

0310
021201
021201
021201
0306

0306
0212
021301

-- 11,13 表中group字段 ,正确
0306
0212
021301
-- 5,8 表中group字段 正确
0105
0310
021201
021201

select k.*,rownum rr from v_view_forta k
where rownum between 2 and 6
-- 1,10
0101
0101
0104
0104
0105

0105
0110
011002
011002
011002

-- 2,6 结果集为空!!!

-- 这样写结果同上
/*select g.*,rownum rr from v_view_forta g
where rownum>=3 and rownum<=10*/

select * from
(
select d.*,rownum rr from v_view_forta d
) p
where p.rr>=2 and p.rr<=7

--  1,10
020801
020801
020801
0201
0105

0310
021201
021201
021201
0306

-- 2,7  正确
020801
020801
0201
0105
0310
021201

/*结论:使用rownum做分页查询,必须将rownum放在子查询内!否则不起作用!!!*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: