Как использовать GROUP BY для конкатенации строк в MySQL?

В основном вопрос состоит в том, как добраться от этого:

foo_id   foo_name
1        A
1        B
2        C

к этому:

foo_id   foo_name
1        A B
2        C
331
задан ustun 28 August 2019 в 21:56
поделиться

3 ответа

SELECT id, GROUP_CONCAT(string SEPARATOR ' ') FROM table GROUP BY id;

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

Из ссылки выше, GROUP_CONCAT: Эта функция возвращает строковый результат со связанными ненулевыми значениями от группы. Это возвращает ПУСТОЙ УКАЗАТЕЛЬ, при отсутствии ненулевых значений.

497
ответ дан ustun 23 November 2019 в 00:45
поделиться
SELECT id, GROUP_CONCAT( string SEPARATOR ' ') FROM table GROUP BY id
[Еще 113] детали здесь .

Из ссылки выше, GROUP_CONCAT: Эта функция возвращает строковый результат со связанными ненулевыми значениями от группы. Это возвращает ПУСТОЙ УКАЗАТЕЛЬ, при отсутствии ненулевых значений.

162
ответ дан FlameStorm 23 November 2019 в 00:45
поделиться
SELECT id, GROUP_CONCAT(CAST(string as CHAR)) FROM table GROUP BY id

даст Вам разграниченную запятой строку

17
ответ дан ustun 23 November 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: