MySQL基础练习题34-游戏玩法分析4

目录

题目

准备数据

分析数据

总结


题目

报告在首次登录的第二天再次登录的玩家的 比率四舍五入到小数点后两位。换句话说,你需要计算从首次登录日期开始至少连续两天登录的玩家的数量,然后除以玩家总数。

准备数据

sql 复制代码
## 创建库
create database db;
use db;

## 创建表
Create table If Not Exists Activity (player_id int, device_id int, event_date date, games_played int)

## 向表中插入数据
Truncate table Activity
insert into Activity (player_id, device_id, event_date, games_played) values ('1', '2', '2016-03-01', '5')
insert into Activity (player_id, device_id, event_date, games_played) values ('1', '2', '2016-03-02', '6')
insert into Activity (player_id, device_id, event_date, games_played) values ('2', '3', '2017-06-25', '1')
insert into Activity (player_id, device_id, event_date, games_played) values ('3', '1', '2016-03-02', '0')
insert into Activity (player_id, device_id, event_date, games_played) values ('3', '4', '2018-07-03', '5')

activity表

分析数据

只有 ID 为 1 的玩家在第一天登录后才重新登录,所以答案是 1/3 = 0.33

第一步:选出每个用户id的首次登陆日期

sql 复制代码
select player_id, min(event_date) as login
from activity
group by player_id

第二步:添加连续两次登录的条件

sql 复制代码
select a.event_date fraction
from
    (select player_id, min(event_date) as login
     from activity
     group by player_id) p
        left join activity a
                  on p.player_id=a.player_id and datediff(a.event_date, p.login)=1;

第三步:算出 首次登录的第二天再次登录的玩家的 比率,并四舍五入

sql 复制代码
select round(avg(a.event_date is not null), 2) fraction
from
    (select player_id, min(event_date) as login
     from activity
     group by player_id) p
        left join activity a
 on p.player_id=a.player_id and datediff(a.event_date, p.login)=1;

总结

  • 计算首次日期或最小日期可以使用min()函数
  • 使用DATEDIFF()函数来计算两个日期之间的差值
相关推荐
da_vinci_x1 天前
Substance 3D 材质流:AI 快速生成与程序化精修
人工智能·游戏·3d·材质·设计师·技术美术·游戏美术
wanhengidc1 天前
云手机通常使用什么架构
服务器·网络·安全·游戏·智能手机·云计算
wanhengidc2 天前
在云手机中云计算的作用都有哪些?
服务器·网络·游戏·智能手机·云计算
wanhengidc2 天前
全面了解云手机的安全性
运维·服务器·游戏·智能手机·云计算
2501_940094023 天前
iphone Delta模拟器如何从夸克网盘导入游戏ROM 附游戏资源下载
游戏·ios·iphone
AA陈超3 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-11 实现自动运行
c++·游戏·ue5·游戏引擎·虚幻
2501_940094023 天前
iPhone Delta模拟器游戏资源包合集中文游戏ROM+BIOS+Delta皮肤附游戏导入教程
游戏·ios·iphone
顾安r3 天前
11.11 脚本网页 跳棋
前端·javascript·游戏·flask·html
2501_940094024 天前
emu系列模拟器最新汉化版 安卓版 怀旧游戏模拟器全集附可运行游戏ROM
android·游戏·安卓·模拟器
顾安r4 天前
11.10 脚本算法 五子棋 「重要」
服务器·前端·javascript·游戏·flask