WITH course_play_rank AS ( -- 第一步:先计算每个课程+用户的播放次数,并生成排名 SELECT prt.cid, CAST(COUNT(*) AS DECIMAL(10, 3)) AS pv, -- 每个用户对每个课程的播放次数 ROW_NUMBER() OVER ( ORDER BY COUNT(*) DESC, cit.release_date DESC ) AS rk FROM course_info_tb cit LEFT JOIN play_record_tb prt ON cit.cid = prt.cid GROUP BY prt.cid, cit....