题解 | 每个月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
