SQL 刷题/【字节跳动】统计近 30 天创作者发文表现 Top 5
上一题下一题困难通过率 29%

【字节跳动】统计近 30 天创作者发文表现 Top 5

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

题目描述

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

某内容社区需要生成“创作者近 30 天发文表现”周会看板。基于作者表与帖子表,计算每位作者近 30 天的发文数、总点赞数和平均点赞数,并输出表现最好的 5 名作者。

数据表

author 作者信息表

字段类型说明
author_idINT作者编号,主键
author_nameVARCHAR(64)作者名称
joined_atDATE加入日期

post 帖子表

字段类型说明
post_idBIGINT帖子编号,主键
author_idINT作者编号
titleVARCHAR(255)帖子标题
like_cntINT点赞数,非负
publish_tsDATETIME发布时间

题目要求

以 post 表中最新一条帖子的发布日期作为基准日,统计基准日前 29 天至基准日共 30 个自然日内的发文表现。

对每位作者计算:

  • posts_30d:近 30 天发文数。
  • likes_30d:近 30 天总点赞数。
  • avg_likes_30dlikes_30d / posts_30d,四舍五入保留 2 位小数;发文数为 0 时记为 0.00。

只输出近 30 天发文数大于 0 的作者,按 likes_30d 降序、posts_30d 降序、author_id 升序排列,取前 5 名。

输出字段为 author_id、author_name、posts_30d、likes_30d、avg_likes_30d。

数据样例

当前运行环境
author_idPKINTauthor_nameVARCHAR(64)joined_atDATE
1Alice2023-01-10
2Bob2023-02-15
3Carol2024-01-20
4David2024-03-01
5Eve2024-05-12
6Frank2025-01-08
7Grace2025-02-18
输入数据显示 7 / 7
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

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