SELECT
T2.cid,T2.pv,T2.rk
FROM
(
SELECT
t1.cid,
t1.pv,
t1.release_date,
ROW_NUMBER() OVER (
ORDER BY
CAST(t1.pv AS DECIMAL) DESC,
t1.release_date DESC
) AS RK
FROM
(
SELECT
p.cid,
concat(ROUND(COUNT(*)),'.000') AS pv,
p.uid,
c.release_date
FROM
course_info_tb AS c
LEFT JOIN play_record_tb AS p USING (cid)
GROUP BY
p.uid,
p.cid,
c.release_date
HAVING
COUNT(*) >= 2
AND p.cid IS NOT NULL
) AS t1
) AS T2
WHERE
RK <= 3;

京公网安备 11010502036488号