select cid, pv, rk from(
select cid,
max(release_date) as release_date,
round(count(*)*1.0,3) as pv,
row_number() over (order by count(*) desc, max(release_date) desc) as rk
from play_record_tb
left join course_info_tb
using(cid)
group by cid, uid
having count(*) >1
) t
where rk < 4
order by rk



京公网安备 11010502036488号