日期:2014-05-17  浏览次数:20785 次

请教1个SQL语句怎么写
我的需求是在ORACLE的一张表里面获取如第1条到第20000条数据,第20000条到第40000条记录,按批次把所要记录都打印出来
------最佳解决方案--------------------
select *
  from (select t.*, rownum rn from t order by rowid) t1
 where t1.rn between 1 and 2000;  --第1条到第2000条

------其他解决方案--------------------
查询1到20000行数据就行了吧 加个条件就行了 很简单 不知道什么意思 
------其他解决方案--------------------
表中有无唯一标识的字段,如果没有,可以考虑用排名函数 OR ROWID
------其他解决方案--------------------
引用:
查询1到20000行数据就行了吧 加个条件就行了 很简单 不知道什么意思

关键是表里没有标识,只能按照顺利来
------其他解决方案--------------------
按照什么顺序
------其他解决方案--------------------
用where就行了吧
------其他解决方案--------------------
没明白你的意思,用rownum不行么?

select * from (select rownum,t.* from table t) where rownum>=20000 and rownum<=40000

自己做个循环
------其他解决方案--------------------
就是SQL分页吧? 楼上的那个 用rownum
------其他解决方案--------------------
select 批次 from 表 where rownum<=10000
union all
select 批次 from 表 where rownum>=20000 and rownum<=40000;
------其他解决方案--------------------
引用:
没明白你的意思,用rownum不行么?

select * from (select rownum,t.* from table t) where rownum>=20000 and rownum<=40000

自己做个循环
用这个就可以,对啊
------其他解决方案--------------------
引用:
引用:
没明白你的意思,用rownum不行么?

select * from (select rownum,t.* from table t) where rownum>=20000 and rownum<=40000

自己做个循环
用这个就可以,对啊


where 后面的 rownum可以这样写吗, 要对T 里面的取个别名吧,
------其他解决方案--------------------
select XX from 表 where rownum<=10000;
select XX from 表 where rownum>=20000 and rownum<=40000;
------其他解决方案--------------------
是分页吗


------其他解决方案--------------------
楼上的rownum就可以解决了
------其他解决方案--------------------
12楼的rownum可以解决的吧