WITH a AS ( SELECT uid, cid, COUNT(*) AS rn FROM play_record_tb GROUP BY uid, cid ), b AS ( SELECT a.cid, SUM(CASE WHEN rn > 1 THEN rn ELSE 0 END) AS rk, c.release_date AS time FROM a JOIN course_info_tb c ON a.cid = c.cid GROUP BY a.cid, c.release_date ) SELECT cid, rk, ROW_NUMBER() OVER (ORDER ...