Skip to content

Commit 974d14e

Browse files
authored
Create find-the-start-and-end-number-of-continuous-ranges.sql
1 parent 6b53bf1 commit 974d14e

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Time: O(n)
2+
# Space: O(n)
3+
4+
SELECT Min(log_id) AS start_id,
5+
Max(log_id) AS end_id
6+
FROM (SELECT log_id,
7+
@rank := CASE
8+
WHEN @prev = log_id - 1 THEN @rank
9+
ELSE @rank + 1
10+
end AS rank,
11+
@prev := log_id AS prev
12+
FROM logs AS A,
13+
(SELECT @rank := 0,
14+
@prev :=- 1) AS B) C
15+
GROUP BY C.rank
16+
ORDER BY NULL;

0 commit comments

Comments
 (0)