Leetcode No.180 连续出现的数字
Posted AI算法攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode No.180 连续出现的数字相关的知识,希望对你有一定的参考价值。
一、题目描述
表:Logs
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| id | int |
| num | varchar |
+-------------+---------+
id 是这个表的主键。
编写一个 SQL 查询,查找所有至少连续出现三次的数字。
返回的结果表中的数据可以按 任意顺序 排列。
查询结果格式如下面的例子所示:
Logs 表:
+----+-----+
| Id | Num |
+----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |
+----+-----+
Result 表:
+-----------------+
| ConsecutiveNums |
+-----------------+
| 1 |
+-----------------+
1 是唯一连续出现至少三次的数字。
二、思路
使用lag窗口函数https://xingqijiang.blog.csdn.net/article/details/113792650
三、代码
select distinct(Num) ConsecutiveNums
from(
select Num,
lag(Num,1)over(order by id desc) as last1,
lag(Num,2)over(order by id desc) as last2
from Logs
)a
where Num=last1 and Num=last2
以上是关于Leetcode No.180 连续出现的数字的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode--SQL 查询:查找所有至少连续出现三次的数字。
leetcode180 连续出现的数字 Consecutive Numbers
SQL屠夫系列leetcode-180. 连续出现的数字-(实战扩展:连续登陆N天)
LeetCode13. 罗马数字转整数 / 剑指 Offer 42. 连续子数组的最大和 / 剑指 Offer 43. 1~n 整数中 1 出现的次数