LeetCode MySQL 550. 游戏玩法分析 IV
生活随笔
收集整理的這篇文章主要介紹了
LeetCode MySQL 550. 游戏玩法分析 IV
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
Table: Activity
+--------------+---------+ | Column Name | Type | +--------------+---------+ | player_id | int | | device_id | int | | event_date | date | | games_played | int | +--------------+---------+ (player_id,event_date)是此表的主鍵。 這張表顯示了某些游戲的玩家的活動情況。每一行是一個玩家的記錄,他在某一天使用某個設備注銷之前登錄并玩了很多游戲(可能是 0)。
編寫一個 SQL 查詢,報告在首次登錄的第二天再次登錄的玩家的分數,四舍五入到小數點后兩位。
換句話說,您需要計算從首次登錄日期開始至少連續兩天登錄的玩家的數量,然后除以玩家總數。
查詢結果格式如下所示:
Activity table: +-----------+-----------+------------+--------------+ | player_id | device_id | event_date | games_played | +-----------+-----------+------------+--------------+ | 1 | 2 | 2016-03-01 | 5 | | 1 | 2 | 2016-03-02 | 6 | | 2 | 3 | 2017-06-25 | 1 | | 3 | 1 | 2016-03-02 | 0 | | 3 | 4 | 2018-07-03 | 5 | +-----------+-----------+------------+--------------+Result table: +-----------+ | fraction | +-----------+ | 0.33 | +-----------+ 只有 ID 為 1 的玩家在第一天登錄后才重新登錄,所以答案是 1/3 = 0.33來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/game-play-analysis-iv
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
# Write your MySQL query statement below select round(count(*)/(select count(distinct player_id) from Activity), 2) fraction from Activity a where (player_id, event_date) in (select player_id, date_add(min(event_date), interval 1 day) first_dayfrom Activitygroup by player_id )498 ms
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 550. 游戏玩法分析 IV的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 02.改善深层神经网络:超参数调试、正则
- 下一篇: LeetCode 1624. 两个相同字