题解 | 每个月Top3的周杰伦歌曲

select
    b.month,
    b.ranking,
    b.song_name,
    b.play_pv
from
    (
        select
            a.month,
            a.song_name,
            a.song_id,
            count(a.song_name) play_pv,
            row_number() over (
                partition by
                    a.month
                order by
                    count(a.song_name) desc,
                    a.song_id asc
            ) ranking
        from
            (
                select
                    month (fdate) month,
                    song_name,
                    pl.song_id
                from
                    play_log pl
                    join song_info si on pl.song_id = si.song_id
                    join user_info ui on pl.user_id = ui.user_id
                where
                    age between 18 and 25
                    and singer_name = '周杰伦'
                    and year(fdate)=2022
                order by
                    fdate
            ) a
        group by
            a.month,
            a.song_name,
            a.song_id
    ) b
where
    b.ranking between 1 and 3

全部评论
有看到的哥回我一声呗,咱们可以讨论讨论
点赞 回复 分享
发布于 2025-01-17 17:44 贵州

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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