可以用取部分记录的方法来处理: 得到第M条到第N条记录的方法: select * from (select rownum rm,a.* from 表名 a where rownum<=N) where rm>=M每次输入M,N的值就可以了.
oracle中的rownum是不能用 >M 的.
select * from tablename where rownum<? and rownum>?
rownum是什么?谁能解释下用法?
使用分析函数控制返回的结果集select col1,col2,... from ( select col1,col2,col3,....,row_number() over (order by col desc/asc) rn ) where rn <= 50;
dinya2003(OK) ( ) :
oracle中的rownum是不能用 >M 的.严重同意
分两种情况: 1.如果sql语句中含有order by 或group by 语句,可用以下格式: select col_name from table_name where rownum<100 minus select col_name from table_name where rownum<50 (取第50--100行的记录),因此语句存在着两次查询,效率较差. 2.如果sql语句中不含有order by 或group by 语句,可用以下格式: select * from (select rownum id,col_name from table_name ) where id>50 and id<100
rownum不能用> , 请错误的赶紧纠正.select * from (select rownum rn,a.* from tablename a where rownum<50) where rn>20
直接用rowid 每次取50条的话可以把本次的ROWID存在变量中,rowid开始设置为'0' 在移动到最后一条记录取得rowid 可以下次取数据 select * from ab01 where rowid>'AAAHzpAAJAAAAyPAAP' and rownum<50
得到第M条到第N条记录的方法:
select * from (select rownum rm,a.* from 表名 a where rownum<=N) where rm>=M每次输入M,N的值就可以了.
from (
select col1,col2,col3,....,row_number() over (order by col desc/asc) rn
)
where rn <= 50;
oracle中的rownum是不能用 >M 的.严重同意
1.如果sql语句中含有order by 或group by 语句,可用以下格式:
select col_name from table_name where rownum<100 minus select col_name from table_name where rownum<50 (取第50--100行的记录),因此语句存在着两次查询,效率较差.
2.如果sql语句中不含有order by 或group by 语句,可用以下格式:
select * from (select rownum id,col_name from table_name ) where id>50 and id<100
每次取50条的话可以把本次的ROWID存在变量中,rowid开始设置为'0'
在移动到最后一条记录取得rowid
可以下次取数据
select * from ab01 where rowid>'AAAHzpAAJAAAAyPAAP' and rownum<50