GROUP_CONCAT()函数的具体语法是什么?
时间: 2024-09-13 13:17:45 浏览: 56
MySQL中group_concat函数深入理解
5星 · 资源好评率100%
`GROUP_CONCAT()`函数是MySQL中的一种聚合函数,用于合并(concatenate)某个字段的值,当该字段值在每个组内不重复时,会将它们以指定分隔符连接起来。其基本语法如下[^1]:
```sql
GROUP_CONCAT([DISTINCT] expr [ORDER BY expr [ASC | DESC]] [SEPARATOR 'str'])
```
- `DISTINCT`: 可选,如果添加,会去除结果集中重复的`expr`值。
- `expr`: 要进行连接的列名或表达式,即你想组合的数据字段。
- `ORDER BY`: 可选,按此列对结果进行排序。
- `ASC` 或 `DESC`: 排序方式,如省略则默认升序。
- `SEPARATOR`: 可选,默认为空格,定义元素之间的分隔符。
在实际应用中,比如查询SQL示例[^2]:
```sql
SELECT GROUP_CONCAT(c.goods_detail_id)
FROM air_out_order a
LEFT JOIN air_out_order_detail b ON b.order_id = a.id
LEFT JOIN air_out_good_record c ON c.order_detail_id = b.id;
```
这个查询会返回`air_out_good_record`表中`order_detail_id`字段的所有不同值,用逗号作为分隔符,如果有多余重复的值会被去重。
阅读全文