refactor: 更改子查询为join

This commit is contained in:
张松
2024-12-30 20:58:05 +08:00
parent c4852d5e7e
commit 51e1db2bc4

View File

@@ -8,29 +8,45 @@
SELECT SELECT
MAX(u.update_time) AS produceEndTime, MAX(u.update_time) AS produceEndTime,
c.*, c.*,
d1.course_details_name AS courseDetailsName, d.course_details_name AS courseDetailsName,
d1.course_details_id AS courseDetailsId, d.course_details_id AS courseDetailsId,
COUNT(d2.course_details_id) AS courseDetailsCount cd.course_details_count AS courseDetailsCount
FROM FROM
course_collect u course_collect u
LEFT JOIN LEFT JOIN course c ON u.course_id = c.course_id
course c ON u.course_id = c.course_id LEFT JOIN (
LEFT JOIN SELECT
course_collect cc1 ON cc1.course_id = u.course_id cc.course_id,
AND cc1.classify = 3 cc.user_id,
AND cc1.user_id = #{userId} d.course_details_name,
LEFT JOIN d.course_details_id
course_details d1 ON cc1.course_details_id = d1.course_details_id FROM
LEFT JOIN course_collect cc
course_details d2 ON d2.course_id = c.course_id LEFT JOIN course_details d ON cc.course_details_id = d.course_details_id
WHERE
cc.classify = 3
AND cc.user_id = #{userId}
ORDER BY
cc.update_time DESC
) AS d ON u.course_id = d.course_id
LEFT JOIN (
SELECT
d.course_id,
COUNT(*) AS course_details_count
FROM
course_details d
GROUP BY
d.course_id
) AS cd ON c.course_id = cd.course_id
WHERE WHERE
u.user_id = #{userId} u.user_id = #{userId}
AND c.course_id IS NOT NULL AND c.course_id IS NOT NULL
AND u.classify = #{classify} AND u.classify = #{classify}
GROUP BY GROUP BY
u.course_id, c.course_id u.course_id
ORDER BY ORDER BY
produceEndTime DESC; produceEndTime DESC
<!-- SELECT <!-- SELECT