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

每个月Top3的周杰伦歌曲

https://www.nowcoder.com/practice/4ab6d198ea8447fe9b6a1cad1f671503

select
    month,
    ranking,
    song_name,
    play_pv
from
    (
        select
            month,
            rank() over (
                partition by
                    month
                order by
                    play_pv desc,
                    song_id
            ) as ranking,
            song_name,
            play_pv
        from
            (
                select
                    month(fdate) as month,
                    p.song_id,
                    song_name,
                    count(*) as play_pv
                from
                    play_log p
                    join user_info u on p.user_id = u.user_id
                    and age between 18 and 25
                    join song_info s on p.song_id = s.song_id
                    and singer_name = '周杰伦'
                where
                    year(fdate) = 2022
                group by
                    month(fdate),
                    p.song_id,
                    song_name
            ) as a1
        order by
            month,
            ranking
    ) as a2
where
    ranking < 4

全部评论

相关推荐

2025-12-26 10:52
河北传媒学院 Java
点赞 评论 收藏
分享
2025-12-18 11:59
广州南方学院 C++
牛客78682892...:直接点还好,总比要了简历也不回的强
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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