Я безуспешно искал удовлетворительное объяснение разницы между GROUP_CONCAT() и CONCAT_WS().
Являются ли они такими же близкими, как я считаю?
Каковы различия в использовании, скорости и т.д. между этими двумя функциями?
Ответ 1
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