mysql group_concat 用法
时间: 2023-06-21 17:24:55 浏览: 58
MySQL 中的 group_concat 函数用于将分组中的多个值合并成一个字符串。以下是 group_concat 函数的用法:
1. 基本用法
```sql
SELECT col1, group_concat(col2)
FROM table1
GROUP BY col1;
```
上述语句将 table1 表按 col1 列进行分组,并将每个分组中 col2 列的值合并为一个字符串。如果需要指定分隔符,可以在 group_concat 函数中增加第二个参数,例如:
```sql
SELECT col1, group_concat(col2 SEPARATOR ';')
FROM table1
GROUP BY col1;
```
上述语句将每个分组中 col2 列的值用分号分隔合并为一个字符串。
2. 按排序合并
```sql
SELECT col1, group_concat(col2 ORDER BY col2 DESC)
FROM table1
GROUP BY col1;
```
上述语句将每个分组中 col2 列的值按照降序排列后合并为一个字符串。
3. 去重合并
```sql
SELECT col1, group_concat(DISTINCT col2)
FROM table1
GROUP BY col1;
```
上述语句将每个分组中 col2 列的值去重后合并为一个字符串。
需要注意的是,group_concat 函数默认的最大字符串长度为 1024,如果需要更长的字符串,可以通过设置 group_concat_max_len 参数来调整。另外,如果使用了 DISTINCT 关键字,需要注意去重的性能问题。