本文主要是介绍180. 連續出現的數字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
180. 连续出现的数字
Question
表:Logs
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| id | int |
| num | varchar |
+-------------+---------+
在 SQL 中,id 是该表的主键。
id 是一个自增列。
找出所有至少连续出现三次的数字。
返回的结果表中的数据可以按 任意顺序 排列。
结果格式如下面的例子所示:
示例 1:
输入: Logs 表: +----+-----+ | id | num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7 | 2 | +----+-----+ 输出: Result 表: +-----------------+ | ConsecutiveNums | +-----------------+ | 1 | +-----------------+ 解释:1 是唯一连续出现至少三次的数字。
Answer
SELECTDISTINCT num as 'ConsecutiveNums'
FROM(SELECTid,num,Lead(num,1) OVER(ORDER BY id) as 'next',Lead(num,2) OVER(ORDER BY id) as 'next2'FROMLogs)n
WHERE num = next and next = next2
LEAD/ LAG(column1_name,offset) OVER(ORDER BY column2_name) 統計窗口向上/下移動 n行
在計算同比環比的時候會常常用到
这篇关于180. 連續出現的數字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!