题解 | 每个月Top3的周杰伦歌曲
每个月Top3的周杰伦歌曲
https://www.nowcoder.com/practice/4ab6d198ea8447fe9b6a1cad1f671503
#18-25岁用户 2022年每个月 播放次数TOP3 周杰伦
with cet as(
select distinct
month(pl.fdate) as month,
any_value(pl.user_id) as user_id,
song_name,
count(pl.song_id) as play_cnt,
any_value(si.song_id) as song_id
from play_log pl
left join user_info ui on pl.user_id = ui.user_id
left join song_info si on pl.song_id = si.song_id
where
si.singer_name = "周杰伦"
and year(pl.fdate) = 2022
and ui.age between 18 and 25
group by month,song_name
)
select
month,
ranking,
song_name,
play_cnt as play_pv
from (
select distinct
month,
row_number() over(partition by month order by play_cnt desc,song_id) as ranking,
song_name,
play_cnt
from cet
) as ranked
where ranking <= 3

凡岛公司福利 319人发布