SQL40 每个月Top3的周杰伦歌曲

描述
从听歌流水中找到18-25岁用户在2022年每个月播放次数top 3的周杰伦的歌曲。
select
    *
from
    (
        select
            a.month,
            row_number() over (
                partition by
                    a.month
                order by
                    a.play_pv desc,
                    a.song_id
            ) as ranking,
            a.song_name,
            a.play_pv
        from
            (
                select
                    month(fdate) as month,
                    p1.song_id,
                    song_name,
                    count(p1.user_id) as play_pv
                from
                    play_log p1
                    left join song_info s on p1.song_id = s.song_id
                    left join user_info u on p1.user_id = u.user_id
                where
                    year(fdate) = '2022'
                    and age between 18 and 25
                    and s.singer_name = "周杰伦"
                group by
                    month(fdate),
                    p1.song_id,
                    song_name
            ) a
    ) b
where
    b.ranking <= 3
order by
    b.month,
    b.play_pv desc,
    b.ranking

这个需求本质上是在分析特定人群的内容消费偏好,其中“每个月 Top3 的周杰伦歌曲”衡量的是 18–25 岁用户在 2022 年不同月份对周杰伦歌曲的阶段性偏好和热度分布。
我会先明确统计口径:人群限定为 18–25 岁用户,时间范围限定为 2022 年,分析对象限定为周杰伦歌曲,统计粒度为“月 + 歌曲”,核心指标为播放次数,并在每个月内按播放次数降序取前 3 名。
在计算上,通常会先将播放流水表与歌曲信息表、用户信息表进行关联,筛选出 2022 年内、年龄在 18 到 25 岁之间、且歌手为周杰伦的播放记录;然后按月份和歌曲维度聚合,统计每首歌在当月的播放次数;接着在每个月内部按照播放次数降序进行排序,并通过窗口函数生成名次;最后取每个月排名前 3 的歌曲,得到该人群在各月份的热门周杰伦歌曲榜单。
在分析层面,我不会只停留在榜单结果本身,还会进一步观察各月份 Top3 歌曲的稳定性、歌曲更替情况、头部歌曲集中度,以及不同月份之间热度变化的节奏,判断年轻用户对周杰伦歌曲的偏好是更偏长期稳定,还是更受阶段性热点影响。
从指标位置上看,这类指标属于内容消费分析中的“播放偏好识别”,更接近内容运营和用户兴趣洞察,而不是传统转化漏斗前端指标。它回答的核心问题不是用户有没有来,而是用户来了之后更偏好消费什么内容。
在输出层面,我会基于结果进一步形成业务结论,比如识别哪些歌曲具备持续性的年轻用户吸引力,哪些歌曲只在个别月份短期冲高,整体偏好是否集中在少数经典曲目上,以及不同月份的内容偏好是否存在明显波动。
最终再将这些结论转化为关键动作,例如在推荐和歌单运营中优先强化高稳定性热门歌曲,对阶段性热度上升的歌曲结合节日、话题或活动做专题运营,同时结合月份变化和人群特征优化内容分发策略,以提升目标用户的播放深度和内容消费效率。
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务