找出连续出现的数字(join group by having)

在logs表中,查找所有至少连续出现三次的数字
在这里插入图片描述

一、根据num相等对logs表进行自连接
在这里插入图片描述

二、根据l1.id进行分组的到的分组数据为
在这里插入图片描述

三、根据第二步中的分组数据加上having的判断,就能得到至少连续出现三次的数字,就是id为3,num为1;id为4,num为1,;id为5,num为1的三条记录是num至少连续出现三次
在这里插入图片描述

四、加上distinct,最终得到至少连续出现三次的数字为1
在这里插入图片描述

说明:
第三步中如果换成“l1.id - l2.id”,则得到的结果是id为3,4,5;可以理解为从相反方向开始算连续的数字
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值