# 18-25岁
# 2022年
# 按月和歌曲分组
# 周杰伦歌曲
# 排序和限制,top3
SELECT
month,
ranking,
song_name,
play_pv
FROM(
SELECT
song_id,
month(fdate) AS month,
song_name,
ROW_NUMBER() OVER(PARTITION BY month(fdate) ORDER BY count(*) DESC,s.song_id) AS ranking,
count(*) AS play_pv
FROM play_log p
LEFT JOIN song_info s USING(song_id)
LEFT JOIN user_info u USING(user_id)
WHERE year(fdate) = 2022 AND singer_name = '周杰伦' AND age BETWEEN 18 AND 25
GROUP BY month(fdate),song_name,song_id
)t1
WHERE ranking <=3
ORDER BY month,play_pv DESC