SELECT uid, COUNT(IF(submit_time IS NULL, 1, NULL)) AS incomplete_cnt, COUNT(IF(submit_time IS NOT NULL, 1, NULL)) AS complete_cnt, GROUP_CONCAT( distinct CONCAT(DATE_FORMAT(start_time, '%Y-%m-%d'), ':', tag) ORDER BY start_time SEPARATOR ';' ) AS detail FROM exam_record er LEFT JOIN examination_inf...