sql/easy

511. Game Play Analysis I

gooreumsea 2024. 3. 30. 16:53

https://leetcode.com/problems/game-play-analysis-i/

쉬운 문제이지만, 윈도우 함수를 간단히 활용해보기에 좋은 문제

# 플레이어의 최초 로그인 날짜 구하기

1) 기본 풀이

SELECT player_id
     , MIN(event_date) AS first_login
FROM Activity
GROUP BY player_id




# 플레이어의 최초 로그인 날짜 구하기

2) 윈도우 함수 + WITH 문 활용

WITH login AS 
(
     SELECT ROW_NUMBER() OVER (PARTITION BY player_id ORDER BY event_date) AS player_login
          , player_id
          , event_date AS first_login
     FROM Activity
)

SELECT player_id
     , first_login
FROM login
WHERE player_login =1