select ename from (select * rownum n from (select * from emp order by ename) where rownum<20)where n>10;
和这句select ename from (select * rownum n from (select * from emp order by ename) where rownum<20)where rownum;
还有这句select ename from (select * from (select * from emp order by ename) where rownum<20)where rownum>10;这三句是一个意思吧 rownum在select不用非要写出吧???
和这句select ename from (select * rownum n from (select * from emp order by ename) where rownum<20)where rownum;
还有这句select ename from (select * from (select * from emp order by ename) where rownum<20)where rownum>10;这三句是一个意思吧 rownum在select不用非要写出吧???
解决方案 »
- SELECT 'x' FROM DUAL,这个语句跟到能追到原始问题语句吗?
- oracle数据库报错信息
- 在存储过程里创建了视图,怎样才能在这个存储过程里接着就可以调用
- HA安装oracle 11G 监听问题
- 求:一下功能如何用存储过程实现?
- 参数包含空值怎么查询?
- 电子书籍疯狂下载!!!!
- 请教两个问题:1.Oracle9i的在启动Management Server时为什么不能解析主机名?2.如何建立一个数据库?
- 如何高效将一个大二进制文件导入到oracle中去?
- oracle dba的职业发展,求指导!
- oracle函数返回boolean值
- win7下复制数据库文件,遇到access denied错误,怎么解决?
--你的语句应有问题吧,执行就会有错
select ename from (select ename,rownum n from (select * from emp order by ename) where rownum<20) where n>10;--取出按ename排序后的第11到19条数据select ename from (select ename,rownum n from (select * from emp order by ename) where rownum<20)where rownum>10;--取不出,此句结果和select ename from emp where rownum>10一样,因rownum是从第1个开始查找,检测第1个是否大于10,不大于,查第二个,此时第二条的
rownum还是1,因此直接结束都没>10的记录select ename from (select * from (select * from emp order by ename) where rownum<20)where rownum>10;--和第二个一样,没结果
主要错误是
1.select * ROWNUM n FROM 有错,不用rownum直接select * FROM 就好,若要用则select ROWNUM rn,t.* FROM TABLE t
2.ROWNUM>10要报错,这个最好了解一下rownum的概念..
唉。
你没在PL/SQL里执行?感觉楼主应该是对rownum不理解吧 多多学习一下Oracle基础