mysql中GROUP_CONCAT用法

语法:

group_concat([DISTINCT] 要连接的字段 [ORDER BY 排序字段 ASC/DESC] [Separator '分隔符'])

select teachId,studentName from bs_student
teachId studentName
1 张三
1 李四
1 张三
2 王五

 

 

 

 

 

 

按teachId分组,将studentName显示在一行(默认以逗号分割)

select teachId,group_concat(studentName) as name from bs_student group by teachId
teachId
name
1 张三,李四,张三
2 王五

 

 

 

 

按teachId分组,将studentName显示在一行,并对studentName去重(默认以逗号分割)

select teachId,group_concat(DISTINCT studentName) name from bs_student group by teachId
teachId
name
1 张三,李四
2 王五

 

 

 

 

按teachId分组,将studentName显示在一行,并对studentName去重且倒叙排序(默认以逗号分割)

select teachId,group_concat(DISTINCT studentName ORDER BY studentName DESC) name from bs_student group by teachId
teachId
name
1 李四,张三
2 王五

 

 

 

 

按teachId分组,将studentName显示在一行,并对studentName去重且倒叙排序,并以分号分割

select teachId,group_concat(DISTINCT studentName ORDER BY studentName DESC SEPARATOR ';') name from bs_student group by teachId
teachId
name
1 李四;张三
2 王五

 

 

 

 

注意:使用group_concat有长度限制,默认1024,若超出会将超出部分自动截掉

 

posted @ 2021-06-30 15:02  一只黄焖鸡  阅读(815)  评论(0)    收藏  举报