본문 바로가기

SQL

(SQL) - LeetCode (easy) 511. Game Play Analysis I

반응형

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

 

Game Play Analysis I - LeetCode

Can you solve this real interview question? Game Play Analysis I - Table: Activity +--------------+---------+ | Column Name | Type | +--------------+---------+ | player_id | int | | device_id | int | | event_date | date | | games_played | int | +----------

leetcode.com

group by를 사용해보는 문제였습니다.

📕 풀이방법

📔 풀이과정

group by player_id로 집계한 뒤 사용 가능한 min함수를 이용, min(event_date)를 뽑아 first_login이란 column 명으로 사용해 player_id와 select하면 됩니다.

* oracle의 경우 min함수 결과가 연-월-일 시:분:초까지 출력되므로 to_char함수를 사용해 출력 형식을 강제해 줘야 합니다.


📕 Code

📔 MySQL

select player_id, min(event_date) as first_login 
from Activity
group by player_id

 

📔 Oracle

select PLAYER_ID as player_id, to_char(min(EVENT_DATE), 'yyyy-mm-dd') as first_login
from ACTIVITY
group by PLAYER_ID

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.