活動表?Activity:
+--------------+---------+
| Column Name ?| Type ? ?|
+--------------+---------+
| player_id ? ?| int ? ? |
| device_id ? ?| int ? ? |
| event_date ? | date ? ?|
| games_played | int ? ? |
+--------------+---------+
表的主鍵是 (player_id, event_date)。
這張表展示了一些游戲玩家在游戲平臺上的行為活動。
每行數據記錄了一名玩家在退出平臺之前,當天使用同一臺設備登錄平臺后打開的游戲的數目(可能是 0 個)。
?
寫一條 SQL?查詢語句獲取每位玩家 第一次登陸平臺的日期。
查詢結果的格式如下所示:
Activity 表:
+-----------+-----------+------------+--------------+
| 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 ? ? ? ? ? ?|
+-----------+-----------+------------+--------------+
Result 表:
+-----------+-------------+
| player_id | first_login |
+-----------+-------------+
| 1 ? ? ? ? | 2016-03-01 ?|
| 2 ? ? ? ? | 2017-06-25 ?|
| 3 ? ? ? ? | 2016-03-02 ?|
+-----------+-------------+
思路:按玩家id分組,查id和最小時間即可。
select player_id,min(event_date) as 'first_login'
from activity
group by player_id
?