2024-11 Bilibili 中等

继续从留存率角度来衡量频道运营效果。

任务

bilibili_t100bilibili_t20bilibili_t3 表中,计算2021年2月5日每个视频类型的T+3留存率。

结果应包括视频类型、观看人数、留存人数、留存率,并按留存率从高到低排序。

考点

  1. 表连接:使用 JOIN 连接 bilibili_t20 和 bilibili_t3 表,确保所有观看记录都有对应的视频类型。
  2. 过滤条件:筛选出2021年2月5日的观看记录。
  3. 计算留存用户:检查用户在接下来的3天内是否观看过任意视频。
  4. 聚合函数:使用 COUNT 统计观看人数和留存人数。
  5. 计算留存率:使用 ROUND 计算留存率,并保留两位小数。

相关表结构如下:

  1. bilibili_t100 表(用户登录及会员标识表)

    • usr_id (VARCHAR): 用户ID
    • v_date (DATE): 登录日期(只有日期,没有时间)
    • m_flg (INT): 会员标志(0表示非会员,1表示会员)
  2. bilibili_t20 表(用户观看记录表)

    • usr_id (VARCHAR): 用户ID
    • v_id (VARCHAR): 视频ID
    • v_tm (DATETIME): 观看时间
  3. bilibili_t3 表(视频类型标签表)

    • v_id (VARCHAR): 视频ID
    • v_nm (VARCHAR): 视频名称
    • v_typ (VARCHAR): 视频类型

留存率计算 多表连接 left join inner join between and distinct count /

bilibili_t100,用户登录及会员标识表

usr_id v_date m_flg
B12 2020-01-03 0
B12 2020-01-05 1
B15 2020-01-03 0
B15 2020-01-05 1

bilibili_t20,用户观看记录表

usr_id v_id v_tm
B1038 A17 2021-02-08 16:23:55
B791 A21 2021-02-11 23:24:24
B1260 A22 2021-02-04 01:20:47
B1116 A22 2021-02-13 19:34:28
B456 A22 2021-02-23 20:09:56

bilibili_t3,视频类型标签表

v_id v_nm v_typ
A01 消失的爱人-惊悚片-本·阿弗莱克 放映厅
A02 每天建模半小时-在家就能养活自己 IT
A03 溜溜哥-我的CTR进化史 汽车
A04 首次唱跳-七夕发糖 舞蹈
A05 古典舞-九儿-无道具 舞蹈

 成为会员,解锁300道大厂数分SQL真题

ID53 10月1日后再也没活跃过的用户  
简单 left join distinct count 时间日期 字节跳动
ID155 多类别观看指数计算  
中等 inner join distinct count / 多表连接 泛TGI概念计算 Bilibili
ID156 频道重合指数  
中等 left join distinct count / 多表连接 泛TGI概念计算 Bilibili
ID157 频道下最受欢迎的视频  
中等 left join distinct count / 窗口函数 多表连接 泛TGI概念计算 Bilibili
ID331 使用了全场通用优惠券的订单数量  
简单 inner join distinct count = 聚合函数 口径探查 多表连接 优惠券使用场景 拼多多

MySQL 8.0

00:00