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

京公网安备 11010502036488号