with t2 as
(select cid,format(pv,3) pv
from
(select uid,cid,count(cid) pv
from play_record_tb
group by uid,cid
having count(cid)>1) t1)

select t2.cid,pv,row_number()over( order by pv desc,release_date desc) rk
from t2 join course_info_tb on t2.cid=course_info_tb.cid
order by rk
limit 3