[Leetcode, PostgreSQL] 511. Game Play Analysis I
포스트
취소

[Leetcode, PostgreSQL] 511. Game Play Analysis I

문제

  • Write a solution to find the first login date for each player.

  • Example:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
      Input: 
      Activity table:
      +-----------+-----------+------------+--------------+
      | player_id | device_id | event_date | games_played |
      +-----------+-----------+------------+--------------+
      | 1         | 2         | 2016-03-01 | 5            |
      | 1         | 2         | 2016-05-02 | 6            |
      | 2         | 3         | 2017-06-25 | 1            |
      | 3         | 1         | 2016-03-02 | 0            |
      | 3         | 4         | 2018-07-03 | 5            |
      +-----------+-----------+------------+--------------+
    
      Output: 
      +-----------+-------------+
      | player_id | first_login |
      +-----------+-------------+
      | 1         | 2016-03-01  |
      | 2         | 2017-06-25  |
      | 3         | 2016-03-02  |
      +-----------+-------------+
    

코드

My solution

1
2
3
4
5
6
7
8
9
WITH TBL_A AS (
SELECT *, 
    RANK() OVER (PARTITION BY PLAYER_ID ORDER BY EVENT_DATE) AS RANK
FROM ACTIVITY
)
SELECT PLAYER_ID, EVENT_DATE AS FIRST_LOGIN
FROM TBL_A
WHERE RANK = 1
;

ChatGPT 3.5

1
2
3
SELECT player_id, MIN(event_date) AS first_login
FROM Activity
GROUP BY player_id;
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

[Leetcode, PostgreSQL] 197. Rising Temperature

[Leetcode, PostgreSQL] Investments in 2016