如何在oracle中实现跨行操作 从oracle 10g数据库里查询出按每隔5记录选一条记录而且选出来的记录要有序,该怎么写请高手指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from tablename where mod(rownum,5)=1order by columnname select * from (select a.*,rownum rm from table_name a) where mod(rm,5)=0order by column這樣是沒有問題的!如果按照樓上的話,始終是一條紀錄 3楼的对,要改一下:mod(rm,6)=1就好了不过我还是想不通为什么 select * from tablename where mod(rownum,6)=1 就返回一条 可能你用*,它包括了ROWNUM,可以这样:insert into table_name select 字段列表(不要用*) from (select a.*,rownum rm from table_name a)where mod(rm,6)=1 3楼的对,要改一下:mod(rm,6)=1就好了 不过我还是想不通为什么 select * from tablename where mod(rownum,6)=1 就返回一条 因为rownum的特殊用法,这个sql只会返回一条,rownum的简单执行流程是这样的获得第一条记录,给rownum =1 第一条记录满足where 条件就返回了第二条记录 不满足条件,不返回 但是这里rownum 不会加 1就这样一直下去就rownum不会增加,where条件从来不满足,这语句只会返回1条记录可以试试 T@ora>select * from a where rownum =2;no rows selectedElapsed: 00:00:00.00T@ora>select * from a where rownum >1;no rows selectedElapsed: 00:00:00.00T@ora>是不会返回任何记录的 给记录加编号 C# 对Oracle 数据库备份和存储 关于保留最高成绩sql(高级) 如何从模板表中复制出树型结构,请明示 关于oracle全文检索,对xml如何检索带2个属性的标签行? 能否有这样一条sql? 求oracle,hibernate有关sequence的问题,大家帮忙啊! ORACLE 中 的 EXCEPT 怎么用啊? 急: 如何将sql server2000中的image 字段转换成oracle中的相关字段?? oracle基础知识分享 一条简单的存储过程问题,请帮忙解决一下 作业问题
where mod(rownum,5)=1
order by columnname
order by column
這樣是沒有問題的!
如果按照樓上的話,始終是一條紀錄
不过我还是想不通为什么
select * from tablename where mod(rownum,6)=1
就返回一条
insert into table_name select 字段列表(不要用*) from (select a.*,rownum rm from table_name a)where mod(rm,6)=1
不过我还是想不通为什么
select * from tablename where mod(rownum,6)=1
就返回一条
因为rownum的特殊用法,这个sql只会返回一条,
rownum的简单执行流程是这样的
获得第一条记录,给rownum =1 第一条记录满足where 条件就返回了
第二条记录 不满足条件,不返回 但是这里rownum 不会加 1
就这样一直下去就rownum不会增加,where条件从来不满足,这语句只会返回1条记录
可以试试
T@ora>select * from a where rownum =2;no rows selectedElapsed: 00:00:00.00
T@ora>select * from a where rownum >1;no rows selectedElapsed: 00:00:00.00
T@ora>
是不会返回任何记录的