ORACLE中关于如何读取前N到M行的问题(置顶1月,希望大家都能掌握)

black_snail 2003-12-15 08:24:58
http://www.csdn.net/develop/read_article.asp?id=21371
...全文
79 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesqsj 2004-02-11
  • 打赏
  • 举报
回复
学习
swellyu 2004-01-14
  • 打赏
  • 举报
回复
看来真的有好多好多命令需要学习啊。
baojianjun 2004-01-13
  • 打赏
  • 举报
回复
select * from (select *,rownum from you_table where rownum<m+m+1)
where rownum>m-1 and rownum<m+m+1
bmlf 2004-01-13
  • 打赏
  • 举报
回复
学习!good!UP
乐不 2004-01-13
  • 打赏
  • 举报
回复
select id
from (select id,rownum row_num
from you_table
where rownum<=M
order by id desc) aa
where aa.row_num >=N
union
select id
from you_table;

未测试,呵呵
乐不 2004-01-13
  • 打赏
  • 举报
回复
select id
from (select id,rownum row_num
from you_table
where rownum<=M) aa
where aa.row_num >=N;
conan19771130 2004-01-09
  • 打赏
  • 举报
回复
good
laiqinghe 2004-01-09
  • 打赏
  • 举报
回复
呵呵
flymoon 2004-01-09
  • 打赏
  • 举报
回复
收藏,努力学习!
jdzwb 2004-01-09
  • 打赏
  • 举报
回复
好东西
flyerlxg 2004-01-08
  • 打赏
  • 举报
回复
收藏,努力学习!
Fred_Mark 2003-12-27
  • 打赏
  • 举报
回复
学习
Ranma_True 2003-12-27
  • 打赏
  • 举报
回复
看看
hihappy 2003-12-25
  • 打赏
  • 举报
回复
select * from (select rownum id,dc_bank.* from dc_bank where bank_id>800 and rownum<30) where id>10
black_snail 2003-12-22
  • 打赏
  • 举报
回复
select (*,rownum as con) -->what is that?
liumingdi 2003-12-20
  • 打赏
  • 举报
回复
按这种方法,不能实现查出表从第M条记录到第N条记录,请大家分析原因,因为下面的句子是错的
SQL> select (*,rownum as con) from temp_table2 where con>=20;
select (*,rownum as con) from temp_table2 where con>=20
*
ERROR 位于第 1 行:
ORA-00936: 缺少表达式
leecooper0918 2003-12-20
  • 打赏
  • 举报
回复
还可以参考这一篇:
http://expert.csdn.net/Expert/topic/2507/2507539.xml?temp=.6518061

我自己写的,主要是参照TKPROF工具分析的结果来说明两种SQL语句的效率。

顺便说明一点: 用MINUS确实省事,可是效率成问题,因为它会做两次全表
扫描(看看查询计划就一目了然)

ern 2003-12-20
  • 打赏
  • 举报
回复
学习学习
junmayang 2003-12-20
  • 打赏
  • 举报
回复
学习!
liumingdi 2003-12-20
  • 打赏
  • 举报
回复
我是来向大家学习的
加载更多回复(9)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧