LeetCode--180.连续出现的数字

编写一个SQL查询,查找至少连续出现三次的所有数字。

在这里插入图片描述

建表

Create table If Not Exists Logs (Id int,Num int);
Truncate table Logs;
insert into Logs (Id, Num) values ('1','1');
insert into Logs (Id, Num) values ('2','1');
insert into Logs (Id, Num) values ('3', '1');
insert into Logs (Id, Num) values ('4','2');
insert into Logs (Id, Num) values ('5','1');
insert into Logs (Id, Num) values ('6','2');
insert into Logs (Id, Num) values ('7','2');

这道题给了我们一个Logs表,让我们找Num列中连续出现相同数字三次的数字,那么由于需要找三次相同数字,所以我们需要建立三个表的实例,我们可以用l1分别和l2, l3内交,l1和l2的Id下一个位置比,l1和l3的下两个位置比,然后将Num都相同的数字返回即可

select l1.Num from logs l1 
 left join logs l2 on l1.Id = l2.Id-1
 left join logs l3 on l1.Id = l3.Id-2
 where l1.Num = l2.Num and l2.Num = l3.Num

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/108901806
今日推荐