GROUP_CONCAT()和CONCAT_WS()之间的区别?

Mat*_*att 20 mysql

我已经搜索不成功上的区别一个满意的解释GROUP_CONCAT()CONCAT_WS().

它们和我认为的密切相关吗?

这两个功能之间在使用,速度等方面有何不同?

Kal*_*esh 45

GROUP_CONCAT当您希望在单行中具有来自不同列行的非NULL值时使用.为此,您需要使用GROUP BY才能工作.

CONCAT_WS 是连接两个或多个字符串.

例,

GROUP_CONCAT(CONCAT_WS(' ', firstname, lastname) ORDER BY id ASC SEPARATOR ',');

输出类似的东西,

John Doe,Blah Blah,Tom Cruise,Lorem Ipsum

这里名称之间的空间是因为CONCAT_WS,而整行的结果是因为GROUP_CONCAT

  • 另外,如果你想使用带有`GROUP_CONCAT`的分隔符,你可以像这样使用`SEPARATOR`语句:`GROUP_CONCAT(lastname SEPARATOR' - ')` (11认同)