SELECT
s.id AS schoolId,
#{param.billNumber} as bill_number,
sum( CASE WHEN t.category = 1 THEN 1 ELSE 0 END ) AS a
sum( CASE WHEN t.category = 2 THEN 1 ELSE 0 END ) AS b,
sum( CASE WHEN t.category = 3 THEN 1 ELSE 0 END ) AS c,
s.short_name AS schoolName,
s.city
FROM
school s
LEFT JOIN classhour_student t ON t.school_id = s.id
AND t.delete_flag = 0
AND t.created_time >= "2022-06-01 00:00:00"
AND t.created_time <= "2022-06-30 23:59:59"
WHERE
s.type = 1
有什么地方可以优化嘛?
执行计划贴一下、 mysql什么版本、 不groupby 直接sum 确定得到的结果准确么、
explain 执行下,看下结果