select * from ( SELECT month ( fdate ) AS month, ROW_NUMBER() over ( PARTITION BY MONTH ( fdate ) ORDER BY count(*) DESC,s.song_id ) AS ranking, song_name, count(*) AS play_pv FROM play_log p LEFT JOIN song_info s ON p.song_id = s.song_id LEFT JOIN user_info u ON u.user_id = p.user_id WHERE age BETWEEN 18 AND 25 and singer_name='周杰伦' GROUP BY 1,song_name,s.song_id) t where ranking<=3

京公网安备 11010502036488号