GROUP_CONCAT
GROUP_CONCAT
是 MySQL 中的一个聚合函数,用于将分组后的多行数据连接成一个单一的字符串。
通常用于将某个列的多个值合并到一个字符串中,以便更方便地显示或处理数据。
GROUP_CONCAT([DISTINCT] column_name[ORDER BY column_name [ASC|DESC]][SEPARATOR 'separator'])
column_name
:要合并的列。DISTINCT
(可选):去除重复的值。ORDER BY column_name [ASC|DESC]
(可选):指定合并值的排序顺序。SEPARATOR 'separator'
(可选):指定合并值之间的分隔符,默认为逗号(,
)。
sale_id | product |
---|---|
1 | Apple |
1 | Banana |
2 | Orange |
2 | Apple |
3 | Banana |
得到每个 sale_id
对应的所有产品名称,且产品名称用逗号分隔。
SELECT sale_id,GROUP_CONCAT(product ORDER BY product ASC SEPARATOR ', ') AS product_list
FROM Sales
GROUP BY sale_id;
结果
sale_id | product_list |
---|---|
1 | Apple, Banana |
2 | Apple, Orange |
3 | Banana |