小屋創作

日誌2023-02-21 21:21

【Leetcode】511. Game Play Analysis I

作者:Chris

Leetcode題目網址:511. Game Play Analysis I
難度:Easy

資料表:Activity
Column Name Type
player_id int
device_id int
event_date date
games_played int








(player_id, event_date) is the primary key of this table.
This table shows the activity of players of some games.
Each row is a record of a player who logged in and played a number of games (possibly 0) before
logging out on someday using some device.
個人解釋(並非逐字翻譯,取其中意思翻譯)
Column Name和Type作為資料表的主鍵,這個資料表用於顯示玩家在遊戲內中的活動情形。藉由此表顯示出玩家的各種活動。

每一行皆註記遊戲玩家的各種活動紀錄(可能有些是0)。資料表的內容都是都是玩家登出以前顯示的紀錄。


題目
Write an SQL query to report the first login date for each player.
Return the result table in any order.
個人解釋(並非逐字翻譯,取其中意思翻譯)
編寫一個SQL程式來查詢玩家首次登陸(event_date)的日期。

以任意順序顯示其查詢資料。

The query result format is in the following example.
查詢結果如以下舉例。

輸入:
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










輸出:
player_id first_login
1 2016-03-01
2 2017-06-25
3 2016-03-02









解答
因為只需要取首次登陸資料,所以這裡選擇以Select distinct來輸出不連續資料,避免輸出重複使用者的不同登陸時間。

先取作為排序編號(player_id),再使用min()函數來取(event_date)第一次的紀錄。
並使用as來將主鍵變更為first_login。

from表示這些資料皆取自Activity資料表。

最後讓輸出資料以
(player_id)做分組,這部分以GROUP BY來進行處理。
程式碼
select distinct player_id,min(event_date) as first_login
from Activity
group by player_id

0

0

LINE 分享

相關創作

【Leetcode】197. Rising Temperature

【Leetcode】1581. Customer Who Visited but Did Not Make Any Transactions

【Leetcode】175. Combine Two Tables

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】