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

每个月Top3的周杰伦歌曲

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

#处理用户和歌单表关联后表
with base as (select month(fdate) as month,
                     song_name,
                     count(1)     as play_pv,
                     song.song_id as song_id
              from play_log play
                       join song_info song on play.song_id = song.song_id
                  and song.singer_name = '周杰伦'
                       join user_info user on play.user_id = user.user_id
                  and (
                                                  user.age >= 18
                                                      and user.age < 25
                                                  )
              WHERE YEAR(play.fdate) = '2022'
              group by month(fdate), song_name,song_id),
     ranks as (select month,
                      row_number() over (partition by month order by play_pv desc,song_id ASC ) as ranking,
                      song_name,
                      play_pv
               from base)
select *
from ranks
where ranking <= 3
;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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