【LeetCode】180.连续出现的数字
程序员文章站
2022-06-11 18:09:08
...
180.连续出现的数字
编写一个SQL查询,查找至少连续出现三次的所有数字。
用到的表和数据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 distinct l1.Num ConsecutiveNums 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;
写的比较粗糙,有不理解的可以扫描二维码加QQ群找我解答。
上一篇: 虚拟机Linux系统忘记密码的情况下,修改root或其他用户密码
下一篇: 简单的一个加载动画