欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-13 23:45:40
...

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

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

建表

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
相关标签: Leetcode