数字(medium)"/>
[mysql]leetcode180:连续出现的数字(medium)
题目:
题解:
- 题解1:由于只需要检索至少连续出现三次的数字,所以我们暴力求解即可,也就是id连续,且num相同。
- 题解2:直接套用查询连续出现N次数字即可。
题解1的代码如下:
# Write your MySQL query statement below
-- 解法1:暴力法,直接查询连续出现三次的数字,也就是id连续,且num相同
SELECT DISTINCTl1.Num AS ConsecutiveNums
FROMLogs l1,Logs l2,Logs l3
WHEREl1.Id = l2.Id - 1AND l2.Id = l3.Id - 1AND l1.Num = l2.NumAND l2.Num = l3.Num
题解2的代码如下:
SELECT DISTINCT num as ConsecutiveNums from(SELECT num,count(*) num_count FROM(SELECT id,num,row_number() over (ORDER BY id)-row_number() over (PARTITION by num order by id) as ordefrom logs)as w GROUP BY num,orde)as s where num_count >=3
更多推荐
[mysql]leetcode180:连续出现的数字(medium)
发布评论