refactor: 更改子查询为join
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user