当然不行,因为ROWNUM是得到结果(包括排序)以后才得到的,也就是先后顺序的问题
解决方案 »
- unlix下pr*c程序select取数问题.
- oracle能支持的最大连接数是多少
- 三表连接问题
- Oracle 为何不是条件越多查询越快?
- oralce脚本设计
- [疑惑]ORACLE新手-请看这个简单的存储过程,为何不能插入数据呢?
- 如何在一个sql脚本中调用另外两个sql脚本文件?
- ora-01219数据库未打开,查看日志文件后说是,系统找不到指定的文件oracle\admin\orcl\udump\orcl_ora_3000.trc
- 在VC#中怎么联到oracle?
- 救火:同一台机器上安装 oracle 11g R2 64位 和 32位客户端问题求助
- 在DBMS_SQL里如何得到执行函数的返回值
- SQLSERVER与ORACLE连接的问题
09:37:51 SQL> select * from tb_1 order by 1 desc; A B
---------- ----------
4 8
3 t
2 c
1 a
1 g
0 9已选择6行。已用时间: 00: 00: 00.31
09:38:31 SQL> select * from (
09:38:33 2 select t.*,rownum rnum from (
09:38:33 3 select * from tb_1 order by 1 desc ) t
09:38:33 4 ) where rnum between 3 and 6; A B RNUM
---------- ---------- ----------
2 c 3
1 a 4
1 g 5
0 9 6已用时间: 00: 00: 00.16
09:38:36 SQL>
FROM (SELECT TMP. *, ROWNUM NUM
FROM ( select * from (select f1,f2,f3 from f union select a1,a2,a3 from a ... ) order by 1 desc)TMP)
WHERE NUM BETWEEN 1 AND 50
union all不会。
SQL> select * from tb_1 order by 1 desc
中order by 1是什么意思?by 2呢?