select l.cid,round(l.s,3) as pv,rk
from (select prt.*, row_number() over (order by s desc ,release_date desc) as rk
from course_info_tb ct
join (select a.cid, sum(a.c) as s
from (select uid, cid, count(*) as c
from play_record_tb
group by uid, cid) a
where c > 1
group by cid) prt on ct.cid = prt.cid) as l
where rk < 4;



京公网安备 11010502036488号