編寫一個 SQL 查詢,查找所有至少連續出現三次的數字。
Id | Num |
---|---|
1 | 1 |
2 | 1 |
3 | 1 |
4 | 2 |
5 | 1 |
6 | 2 |
7 | 2 |
例如,給定上面的 Logs 表, 1 是唯一連續出現至少三次的數字。
假設 Id 是連續的。
ConsecutiveNums |
---|
1 |
解答
左連接自身獲得前兩條記錄,判斷 Num 是否一樣,最後 DISTINCT 去掉重複的 Num 即可。
1SELECT
2 DISTINCT l1.Num AS ConsecutiveNums
3FROM
4 Logs l1,
5 Logs l2,
6 Logs l3
7WHERE
8 l1.Id = l2.Id - 1
9 AND l2.Id = l3.Id - 1
10 AND l1.Num = l2.Num
11 AND l2.Num = l3.Num
12;
原題
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/consecutive-numbers