SELECT
csh.`DisplayName` AS CourseGroupName,
SUM(IF(batch.`id` IS NULL,0,1)) AS SumCount,
SUM(IF(batch.`absenceCount` IS NOT NULL,batch.`absenceCount`,0)) AS AbsenceCount,
SUM(IF(batch.`lateCount` IS NOT NULL,batch.`lateCount`,0)) AS LateCount,
SUM(IF(batch.`leaveCount` IS NOT NULL,batch.`leaveCount`,0)) AS LeaveCount,
GROUP_CONCAT(DISTINCT IF(cct.`RoleType`=1,tea.`Name`,'') SEPARATOR '/' ) AS TeacherName1, #GROUP_CONCAT 分组连接字符串/Distinct 出重/ IF()
GROUP_CONCAT(DISTINCT IF(cct.`RoleType`=2,tea.`Name`,'') SEPARATOR '/') AS TeacherName2
FROM csh_coursegroup AS csh
LEFT JOIN attend_attendancebatch AS batch ON batch.`courseGroupId`=csh.`Id`
LEFT JOIN csh_coursegroupteacher AS cct ON cct.`CourseGroupId`=csh.`Id`
LEFT JOIN bas_teacher AS tea ON tea.`Id`=cct.`TeacherId`
WHERE !csh.`IsDeleted`
GROUP BY csh.`Id`
ORDER BY SumCount DESC
csh.`DisplayName` AS CourseGroupName,
SUM(IF(batch.`id` IS NULL,0,1)) AS SumCount,
SUM(IF(batch.`absenceCount` IS NOT NULL,batch.`absenceCount`,0)) AS AbsenceCount,
SUM(IF(batch.`lateCount` IS NOT NULL,batch.`lateCount`,0)) AS LateCount,
SUM(IF(batch.`leaveCount` IS NOT NULL,batch.`leaveCount`,0)) AS LeaveCount,
GROUP_CONCAT(DISTINCT IF(cct.`RoleType`=1,tea.`Name`,'') SEPARATOR '/' ) AS TeacherName1, #GROUP_CONCAT 分组连接字符串/Distinct 出重/ IF()
GROUP_CONCAT(DISTINCT IF(cct.`RoleType`=2,tea.`Name`,'') SEPARATOR '/') AS TeacherName2
FROM csh_coursegroup AS csh
LEFT JOIN attend_attendancebatch AS batch ON batch.`courseGroupId`=csh.`Id`
LEFT JOIN csh_coursegroupteacher AS cct ON cct.`CourseGroupId`=csh.`Id`
LEFT JOIN bas_teacher AS tea ON tea.`Id`=cct.`TeacherId`
WHERE !csh.`IsDeleted`
GROUP BY csh.`Id`
ORDER BY SumCount DESC