【蚂蚁】统计推荐内容准确用户的平均评分
WHERE 条件聚合函数子查询日期函数用户行为分析面试真题
题目描述
来源:蚂蚁 SQL 面试真题
某产品在 2022 年 2 月 8 日向部分用户推荐内容,现在需要结合用户喜好标签和综合评分,统计推荐准确用户的平均评分。
数据表
recommend_tb 推荐内容表
| 字段 | 类型 | 说明 |
|---|---|---|
| rec_id | BIGINT | 推荐信息 ID |
| rec_info_l | VARCHAR | 推荐内容标签 |
| rec_user | BIGINT | 推荐目标用户 ID |
| rec_time | DATETIME | 推荐时间 |
user_action_tb 用户信息及评分表
| 字段 | 类型 | 说明 |
|---|---|---|
| user_id | BIGINT | 用户 ID |
| hobby_l | VARCHAR | 用户喜好标签 |
| score | DECIMAL | 用户对全部推荐内容的综合评分 |
准确推荐定义
- 推荐内容标签 rec_info_l 与用户喜好标签 hobby_l 一致,即为一次准确推荐。
- 同一用户被推荐多次时,只要至少有一次准确,就将该用户归为准确用户。
- 同一用户即使多次收到相同的准确内容标签,计算平均分时也只能计入一次。
- score 是用户维度的综合评分,平均分的分母是准确用户数,不能使用推荐记录数。
题目要求
请统计 2022 年 2 月 8 日推荐内容准确用户的平均评分,结果四舍五入保留 3 位小数。
期望输出列
| 列名 | 说明 |
|---|---|
| avg_score | 准确用户的平均综合评分,保留 3 位小数 |
数据样例
| rec_idPKBIGINT | rec_info_lVARCHAR(50) | rec_userBIGINT | rec_timeDATETIME |
|---|---|---|---|
| 1 | 健身 | 101 | 2022-02-08 07:23:15 |
| 2 | 美妆 | 102 | 2022-02-08 07:24:15 |
| 3 | 体育 | 103 | 2022-02-08 07:25:15 |
| 4 | 美妆 | 103 | 2022-02-08 07:26:15 |
| 5 | 政要 | 104 | 2022-02-08 07:27:15 |
| 6 | 体育 | 104 | 2022-02-08 07:28:15 |
| 7 | 体育 | 105 | 2022-02-08 07:29:15 |
| 8 | 影视 | 106 | 2022-02-08 07:30:15 |
输入数据显示 8 / 8 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里