【发布时间】:2021-12-29 14:07:29
【问题描述】:
对于group_concat,MySQL 手册说:
此函数返回一个字符串结果,其中包含来自组的连接的非 NULL 值。
group 在这种情况下似乎是某种数据类型。是否可以手动创建这种数据类型?
例如,我在一个表中有 one 和 two,我想检索这两个值分隔为 CSV:
select group_concat(column) from table group by column
这连接
'one', 'two'
不过,正如预期的那样:
select group_concat('one', 'two');
返回:
'onetwo'
好像只是concat。
【问题讨论】:
-
GROUP_CONCAT 与 CONCAT 类似,不同之处在于 CONCAT 用于跨列组合值,而 GROUP_CONCAT 函数主要用于跨行连接值。
-
concatconcats 没有分隔符,它不仅仅适用于列。例如concat('some string', some_column, 'another string', 123)。 “行”部分是我试图模仿的。例如在 PHP 中,我可以执行[['row1', 'field2'], ['row2', 'field2']],这将获得类似的结果集(缺少索引,但对于演示认为它有效)。
标签: mysql concatenation group-concat