GROUP_CONCAT 是 MySQL 的一个聚合函数,用于将多行合并成一行,返回一个由多个值组成的字符串。
使用 GROUP_CONCAT 的语法如下:
```mysql
SELECT column1, GROUP_CONCAT(column2)
FROM table
GROUP BY column1;
```
其中,column1 是要分组的列,column2 是要连接的列,table 是要查询的表。可以根据需要查询多个列,并使用其他条件进行筛选。
例如,有一个表 students 包含学生姓名和所在班级的信息:
| name | class |
|---------|---------|
| Alice | A |
| Bob | A |
| Charlie | B |
| David | B |
| Eve | C |
可以使用以下查询语句,将每个班级的学生姓名连接成一个字符串:
```mysql
SELECT class, GROUP_CONCAT(name)
FROM students
GROUP BY class;
```
查询结果如下:
| class | GROUP_CONCAT(name) |
|---------|----------------------|
| A | Alice,Bob |
| B | Charlie,David |
| C | Eve |
注意,GROUP_CONCAT 的默认分隔符是逗号(,),可以通过修改 MySQL 的系统变量 group_concat_separator 来改变默认分隔符。例如,使用分号作为分隔符:
```mysql
SET SESSION group_concat_separator = ';';
```
另外,GROUP_CONCAT 还支持对连接的值进行排序、去重等操作,具体使用方式可参考 MySQL 的官方文档。
网友评论