SQL 刷题/【字节跳动】统计高级课程学员的内容反馈质量
上一题下一题困难通过率 100%

【字节跳动】统计高级课程学员的内容反馈质量

JOIN 连接聚合函数CASE WHEN日期函数用户行为分析面试真题

题目描述

来源:字节跳动 SQL 面试真题

某在线教育平台希望分析完成高级课程的学员对课程内容的评价情况,识别高参与度且能提供高质量反馈的学员。

数据表

course_completions 课程完成记录表

字段类型说明
completion_idINT完成记录唯一编号,主键
user_idINT学员唯一编号
course_idVARCHAR课程唯一标识
completion_dateDATE课程完成日期

content_reviews 内容评价表

字段类型说明
review_idINT评价唯一编号,主键
user_idINT提交评价的学员 ID
course_idVARCHAR评价所属课程 ID
ratingINT评价星级,范围 1-5
review_dateDATETIME评价提交时间

题目要求

查询在 2025 年 3 月完成 DS-102(数据科学进阶)课程的所有学员。

对这些学员计算:

  • average_rating:该学员对 DS-102 的全部评价平均星级,四舍五入保留 2 位小数。
  • latest_review_date:该学员提交任意课程评价的最近日期,格式为 YYYY-MM-DD
  • 平均星级大于等于 4.0 时,feedback_type 为“优质反馈学员”,否则为“普通反馈学员”。

如果学员没有提交过 DS-102 评价,平均星级保留为 NULL,并归入“普通反馈学员”;如果完全没有评价,最近评价日期也为 NULL。

排序规则:

  1. feedback_type 升序,“普通反馈学员”在前。
  2. average_rating 降序。
  3. user_id 升序。

数据样例

当前运行环境
completion_idPKINTuser_idINTcourse_idVARCHAR(50)completion_dateDATE
1001101DS-1022025-03-05
1002101DS-1022025-03-20
1003102DS-1022025-03-10
1004103DS-1022025-03-31
1005104DS-1022025-03-01
1006105DS-1022025-02-28
1007106DS-1022025-04-01
1008107DS-1012025-03-15
输入数据显示 8 / 8
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里