zimslog

[SQL] Leetcode 180, 511 - 윈도우 함수 본문

Data Engineering/SQL

[SQL] Leetcode 180, 511 - 윈도우 함수

zimslog 2025. 8. 19. 17:07

 

Leetcode 180, 511 - 윈도우 함수

 

180. Consecutive Numbers

# Write your MySQL query statement below
-- 3번 이상 연속으로 나타나는 모든 숫자
-- 정렬 없음
-- ID로 정렬한 다음, 2번, 1번 앞의 숫자 현재 숫자와 비교

SELECT DISTINCT T.num as ConsecutiveNums
FROM (SELECT 
    LAG(num, 2) OVER (ORDER BY id) AS lag2, -- 2행 앞 num
    LAG(num, 1) OVER (ORDER BY id) AS lag1, -- 1행 앞 num
    num -- 현재 num
    FROM Logs) T
WHERE T.lag1 = T.num AND T.lag2 = T.num

 

 

511. Game Play Analysis 1

# Write your MySQL query statement below
-- 각 플레이어별 첫번째 로그인 날자 출력
-- rownumber over partition by play_id order by event_date
-- where rownumber =1

SELECT T.player_id, T.event_date as first_login
FROM(
    SELECT *, ROW_NUMBER() OVER (PARTITION BY player_id ORDER BY event_date) AS RN
    FROM Activity) T
WHERE T.RN = 1