oracle中每隔一百条记录取一条记录( 抽取方式如下:第1个条记录、第101个记录) 的SQL语句 急啊!

 我来答
hit_lubin
2011-05-23 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2022万
展开全部
先构建一个表,把ROWNUM转成一个实实在在的列,然后根据这个列对100求余等于1的行,就是你要的行了。
另外根据您的补充,按照主键ID排列,需要再麻烦一点。如下:
select * from
(select t.*, rownum as rno from (select * from table a order by id) t ) t1
where mod(rno,100) = 1
jkchenwo
2011-05-23 · TA获得超过4300个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:557万
展开全部
其实就和分页一样的,而这个就是相当于100条数据为一页,你将分页获得的数据当做子查询,然后select top 1 不就ok了,很简单的不必着急
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2011-05-23 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
记录是按rownum还是按主键id啊?
你就id除100余1就好了呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2011-05-23 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5480万
展开全部
select * from (select *, rownum rn from 表) a
where mod(a.rn, 100) = 1
追问
是按照 主键ID来
追答
上面是按行号来的,按id那就更简单了
select * from 表 where mod(id, 100)=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式