1、新知识点 group_concat([distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符']) ,相当于根据group by指定的同一组就把所选内容组合到一起 2、计划完成数和未完成数,考虑到的函数是count和sum,其中未完成数不能用count(*)-count(submit_time)完成,所以换为sum函数,建议优先选择sum函数 3、未完成数大于1且小于5,等于between 2 and 4,有两种表达方式 4|降序用order by ... desc select uid, sum(if(submit_time is null,1,0) ) incomplete_cnt, Count(submit_time) complete_cnt, group_concat(distinct CONCAT(DATE_FORMAT(er.start_time, '%Y-%m-%d'),':',ei.tag) separator ';')detail from exam_record er join examination_info ei using(exam_id) where year(start_time)=2021 group by uid having Count(submit_time) >= 1 and sum(if(submit_time is null,1,0) ) between 2 and 4 order by incomplete_cnt desc



京公网安备 11010502036488号