根据条件price>0,获取id连续的数据

文章提供了一个SQL查询示例,用于从数据集中选取price大于0并且id连续的记录。查询首先创建了一个CTE(公共表表达式),然后通过rownum和id计算连续性,最后按日期和连续性标志进行分组,以获取最小和最大id。
摘要由CSDN通过智能技术生成

根据条件获取一组id是连续的数据        

--获取一组id连续的数据,
with aa as(
	select '2020-01-01'pdate,1 id,'100'price from dual
	union all
	select '2020-01-01'pdate,2 id,'200'price from dual
	union all
	select '2020-01-01'pdate,3 id,'-300'price from dual
	union all
	select '2020-01-01'pdate,4 id,'-400'price from dual
	union all
	select '2020-01-01'pdate,5 id,'500'price from dual
	union all
	select '2020-01-01'pdate,6 id,'600'price from dual
	union all
	select '2020-01-01'pdate,7 id,'700'price from dual
	union all
	select '2020-01-01'pdate,8 id,'800'price from dual
)
select pdate,min(id),max(id) from(
	select pdate,id,price,rownum,id-rownum x from aa
	where price>0
	order by pdate,id
)
group by pdate,x

原数据:要将框起来的数据作为两组

price>0的数据:

最终效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值