@TOC
初始数据:
SELECT id, YEAR, term, course_id FROM edu_course_class WHERE id = '46639'使用concat函数连接相应字段
SELECT id, YEAR, term, course_id, CONCAT( YEAR, '-', term, '-', course_id ) FROM edu_course_class WHERE id = '46639'当其中有值为null值时,使用concat函数返回值为null
UPDATE edu_course_class SET term=NULL WHERE id='46639' SELECT id, YEAR, term, course_id, CONCAT( YEAR, '-', term, '-', course_id ) FROM edu_course_class WHERE id = '46639'注意:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。
初始数据:
利用group_concat将学年,年级,学期,课程相同的老师合并到一行
SELECT YEAR, term, grade, course_id, GROUP_CONCAT( teacher_id ) FROM edu_course_class WHERE plan_detail_id = '117827' GROUP BY YEAR, term, grade, course_id现在可以看到想要的功能已经实现,但合并的老师ID3627是重复的,现在做去重
SELECT YEAR, term, grade, course_id, GROUP_CONCAT( DISTINCT(teacher_id) ) FROM edu_course_class WHERE plan_detail_id = '117827' GROUP BY YEAR, term, grade, course_id SELECT扩展:有id但不知道名字怎么办,用find_in_set函数带出老师姓名
SELECT a.year, a.term, a.grade, a.course_id, a.teacherId, GROUP_CONCAT( su.username ) FROM ( SELECT YEAR, term, grade, course_id, GROUP_CONCAT( DISTINCT ( teacher_id ) ) teacherId FROM edu_course_class WHERE plan_detail_id = '117827' GROUP BY YEAR, term, grade, course_id ) a INNER JOIN sys_user su ON FIND_IN_SET( su.user_id, a.teacherId ) GROUP BY a.year,a.teacherId,a.term,a.grade,a.course_id