查询连续出现3次的数字
id | num |
---|---|
1 | 1 |
2 | 1 |
3 | 1 |
4 | 2 |
5 | 1 |
6 | 2 |
7 | 2 |
8 | 3 |
9 | 3 |
10 | 3 |
11 | 3 |
… | … |
自连接查询
自连接:将data分别命名表1,2,3;1表的第i个值与2表的第i+1个值,3表的第i+2个值横向拼接,若一行三个值相同,这个值就连续出现了三次。
若查找出现四次的数值,就拼接四次,以此类推…
select distinct f1.num //去重查询
from figure f1 left join figure f2 on f1.id = f2.id + 1
left join figure f3 on f1.id = f3.id + 2 //拼接
where f1.num = f2.num and f1.num = f3.num; //判断