Вставить в Выбрать с группой concat

Привет у меня есть таблица, которая имеет значения

 domain                 user              groups
test_at_test.com         john              first
test_at_test.com         mary              second
test_at_test.com         john              second

так далее..

я бы хотел group concat эту таблицу и вставьте значения в новую таблицу или update текущая таблица у меня нет проблем с этим, и новая таблица должна быть такой

domain                user              groups
test_at_test.com         john              first,second
test_at_test.com         mary              second

я пишу следующее command но я получаю error Количество столбцов не соответствует значению в строке 1
INSERT INTO newtable
SELECT * , GROUP_CONCAT(groups)
FROM table GROUP BY
user ORDER BY domain

1

Решение

Ваша новая таблица имеет 3 столбца, но в выбранном наборе результатов будет 4 столбца, которые необходимо указать в выражении выбора.

INSERT   INTO    newtable
SELECT `domain`, `user`,  GROUP_CONCAT(groups)
FROM table GROUP BY  user
ORDER BY domain

DEMO

Заметка Результат усекается до максимальной длины, заданной системной переменной group_concat_max_len, которая имеет значение по умолчанию
1024. Значение может быть установлено выше, хотя эффективный максимум
длина возвращаемого значения ограничена значением
max_allowed_packet.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]