[문제]
Consecutive Numbers - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
[풀이]
- 셀프조인 2번하는 방식으로 풀이
(1)
SELECT DISTINCT l1.num AS ConsecutiveNums
FROM logs l1
INNER JOIN logs l2 ON L1.id = l2.id - 1
INNER JOIN logs l3 ON l2.id = l3.id - 1
WHERE l1.num = l2.num
AND l1.num = l3.num
(2)
SELECT DISTINCT l1.num AS ConsecutiveNums
FROM logs l1
INNER JOIN logs l2 ON L1.id + 1 = l2.id
INNER JOIN logs l3 ON l1.id + 2 = l3.id
WHERE l1.num = l2.num
AND l1.num = l3.num
- MS SQL 윈도우 함수 풀이
SELECT DISTINCT co.num AS ConsecutiveNums
FROM(
SELECT num
, LEAD(num) OVER (ORDER BY id) AS lead
, LEAD(num, 2) OVER (ORDER BY id) AS lead2
FROM Logs) co
WHERE co.num = co.lead
AND co.num = co.lead2
'SQL > MySQL 문제풀이' 카테고리의 다른 글
[LeetCode] Rank Scores (윈도우함수 풀이) (0) | 2022.06.23 |
---|---|
[LeetCode] department top three salaries 윈도우함수 풀이 (0) | 2022.06.21 |
[LeetCode] department-highest-salary 풀이 (0) | 2022.06.14 |
[SQL DELETE문제][LeetCode] Delete Duplicate Emails (0) | 2022.06.13 |
[SQL DML문제][LeetCode] Swap Salary (0) | 2022.06.13 |