SELECT T_ID,T_DATE
FROM (SELECT ROWNUM ID,T_ID,T_DATE FROM TABLE)
WHERE rownum<=1100 AND rownum>1000
ORDER BY T_DATE ASC;
不知道是不是好用?
FROM (SELECT ROWNUM ID,T_ID,T_DATE FROM TABLE)
WHERE rownum<=1100 AND rownum>1000
ORDER BY T_DATE ASC;
不知道是不是好用?
解决方案 »
- oracle里写个存储过程循环插入10万条记录
- 想得到客户端的操作
- oracle9i中如何修改db_files的数目,我在init.ora中加一条db_files=100后,还是无效的
- 急!!!!找东东!!!
- 如何用触发器取字段(字符串)后几个字符
- oracle问题
- 帮忙看看我的小存储过程;)
- database link 问题
- oracle中查询时日期时间作为条件
- 同时安装64位Oracle数据库和32位client客户端,CMD中的impdp命令问题
- 向各位高手请教一个复杂的sql查询问题?
- 在使用NETTERM登陆服务器后,怎样让我的NETTERM变成SQL*PLUS可以执行查询语句,需要键入什么命令?
FROM (SELECT T_ID,T_DATE FROM TABLE ORDER BY T_DATE ASC)
WHERE ROWNUM<=1100 and ROWNUM>1000;
from (select rownum id,a.* from yourtable a order by t_date) b
WHERE b.ID<=1100 AND b.ID>1000
from (select rownum ron,a.* from yourtable a order by t_date) b
WHERE b.ron<=1100 AND b.ron>1000
rownum是oracle记录里物理上的行数.不能跟排序放一起用,一起用的话,取出来的内容就不符合要求了.
order by 不能和ROWNUM联用2楼跟我写的一样3,4,5,7楼根本就是错误的SQL语句难道题目真的那么难啊?
from (select rownum ron,a.* from yourtable a order by t_date) b
WHERE b.ron<=1100 AND b.ron>1000
我已测试通过
from (select rownum id,a.*
from (select * from yourtable order by t_date) a) b
WHERE b.ID<=1100 AND b.ID>1000
rownum不是物理记录号,而只是一个伪列,rowid才是物理地址的!如果想去排序后的几条记录,大都是用rownum的!但一定要先order by,然后再用rownum,不要在同一个select ……里面。我后来写的这个肯定可以的!你可以测试一下。
你试试下列语句,我没把握:
select T_ID,T_DATE from (select T_ID,T_DATE from table where rownum<1100 order by T_DATE ASC) minus select T_ID,T_DATE from table where rownum<1000 order bu T_DATE ASC
不但效率低,结果也不是错误的!
不但效率低,结果也是错误的!
from (select rownum id,a.*
from (select * from yourtable order by t_date) a
where rownum <= 1100) b
WHERE b.ID>1000
http://www.cnoug.org/bin/ut/topic_show.cgi?id=38&h=1&bpg=1&age=0
同时,谢谢biti