什么是 GROUP_CONCAT?
GROUP_CONCAT是MySQL中的一种聚合函数,用于将多行的结果集合并成一个单一的字符串,并通过指定的分隔符连接这些值。这个函数通常与GROUP BY一起使用,可以有效地将相关行的信息压缩到单个结果行中。
基本语法
GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr} [ASC|DESC][,col_name ...]][SEPARATOR str_val])
expr: 要连接的列名或表达式。DISTINCT: 可选参数,用于去除重复值。ORDER BY: 可选参数,用于对值进行排序。SEPARATOR: 指定连接符,默认为逗号,。
使用示例
假设我们有一个名为 students 的表,结构如下:

基本用法
如果我们想获取每个班级的所有学生的名字,可以这样写:
SELECT class, GROUP_CONCAT(name) AS students FROM students GROUP BY class;
输出结果:

去重并排序
如果我们想要去除重复的学生名字,并按字母降序排列,可以这样做:
SELECT class, GROUP_CONCAT(DISTINCT name ORDER BY name DESC) AS students FROM students GROUP class;








