在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;可以理解为从相反方向开始算连续的数字