select b.cid,pv, row_number() over(order by pv desc,release_date desc) as rk from (select cid,sum(pv) as pv from (select cid,uid, round(cast(count(*) as float),3) as pv from play_record_tb group by cid,uid having pv>1)a group by cid)b join course_info_tb c on b.cid = c.cid limit 3
二刷 一个细节是“如果某人对某视频观看了n次(n>1),则记为该视频重复观看次数+n”如果有两个用户重复观看a视频,两个用户的重复观看次数都要加在a视频的次数上。