如何按顺序提取数据

xleo2012 2012-11-17 08:42:20
我有一个表,127条记录,
我想加个条件只提取1~5条记录然后是11~15条记录,中间的6~10条记录不要,依次提取下去,请问用什么方法好?谢谢。
...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
可以通过取余函数mod

with t1 as
(
     select 1 c1,'a' c2 from dual
     union all
     select 23 c1,'a' c2 from dual
     union all
     select 6 c1,'a' c2 from dual
     union all
     select 11 c1,'a' c2 from dual
)
select *
from t1
where mod(c1,10) between 1 and 5


     c1    c2
---------------------------
1	1	a
2	23	a
3	11	a
软件钢琴师 2012-11-17
  • 打赏
  • 举报
回复
SELECT * FROM (
select fieldid from tablename order by fieldid
)  where rownum <=5 

UNION
SELECT fieldid FROM (
SELECT * FROM 
(select fieldid from tablename  order by fieldid)
MINUS
SELECT * FROM 
(SELECT fieldid FROM tablename where rownum <=10 order by fieldid)
)
软件钢琴师 2012-11-17
  • 打赏
  • 举报
回复
select * from tablename where rownum <=5 order by fieldid UNION SELECT * FROM ( select * from tablename order by fieldid MINUS SELECT * FROM tablename where rownum <=10 order by fieldid )
xleo2012 2012-11-17
  • 打赏
  • 举报
回复
这样不行提取不到。
软件钢琴师 2012-11-17
  • 打赏
  • 举报
回复
select * from tablename where rownum =5 order by fieldid union select * from tablename where rownum >10 order by fieldid
xleo2012 2012-11-17
  • 打赏
  • 举报
回复
后来通过仔细查看,发现少了10,与20两个序号的内容。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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