-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path52.sql
More file actions
30 lines (27 loc) · 686 Bytes
/
52.sql
File metadata and controls
30 lines (27 loc) · 686 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-- Question 52
-- Write a SQL query to find all numbers that appear at least three times consecutively.
-- +----+-----+
-- | Id | Num |
-- +----+-----+
-- | 1 | 1 |
-- | 2 | 1 |
-- | 3 | 1 |
-- | 4 | 2 |
-- | 5 | 1 |
-- | 6 | 2 |
-- | 7 | 2 |
-- +----+-----+
-- For example, given the above Logs table, 1 is the only number that appears consecutively for at least three times.
-- +-----------------+
-- | ConsecutiveNums |
-- +-----------------+
-- | 1 |
-- +-----------------+
-- Solution
select distinct a.num as ConsecutiveNums
from(
select *,
lag(num) over() as prev,
lead(num) over() as next
from logs) a
where a.num = a.prev and a.num=a.next