select
month,ranking,song_name,play_pv
from
(
select
month,
row_number() over (
partition by
month
order by
play_pv desc,song_id
) as ranking,
song_name,
play_pv
from
(
select
month (fdate) as month,
song_name,
song_id,
count(1) as play_pv
from
play_log
join song_info using (song_id)
join user_info using (user_id)
where
singer_name = '周杰伦'
and age between 18 and 25
group by
1,2,3
) t1
) t2
where
ranking <= 3

京公网安备 11010502036488号