GROUP_CONCAT函数
时间: 2023-11-08 17:57:31 浏览: 71
MySQL拼接字符串函数GROUP_CONCAT详解
GROUP_CONCAT是MySQL中的一个聚合函数,用于将一组值连接成一个字符串。它的基本语法如下:
```
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
```
其中,expr表示需要连接的列名或表达式,可以指定多个;DISTINCT表示去重;ORDER BY用于对连接后的结果进行排序;SEPARATOR指定连接后的分隔符,默认为逗号。
例如,假设有以下数据表Student:
| id | name | course |
|----|--------|--------|
| 1 | Alice | Math |
| 2 | Alice | English|
| 3 | Bob | Math |
| 4 | Charlie| English|
执行以下SQL语句:
```
SELECT name, GROUP_CONCAT(course) as courses
FROM Student
GROUP BY name;
```
将得到以下结果:
| name | courses |
|--------|----------------|
| Alice | Math,English |
| Bob | Math |
| Charlie| English |
这里使用GROUP BY对name进行分组,然后将每个分组内的course通过GROUP_CONCAT函数连接成一个字符串。
阅读全文