Объединение строк таблицы

81
27 декабря 2021, 10:40

Помогите, пожалуйста, с SQL запросом: нужно объединить поля message для записей, у которых совпадают поля ref в такой примерно таблице:

+----+-----------------+-------------+-----+
| id | message         | date        | ref |
+----+-----------------+-------------+-----+
| 07 | first message   | 2018-03-11  |  12 |
| 08 | second message  | 2018-03-14  |  2  |
| 09 | another message | 2018-03-05  |  2  |
| 10 | first message   | 2018-03-07  |  8  |

остальные поля - несущественны, можно скопировать любое из объединяемых строк.

Результат должен выглядеть так:

+----+-----------------+-------------+-----+
| id | message         | date        | ref |
+----+-----------------+-------------+-----+
| 07 | first message   | 2018-03-11  |  12 |
+----+-----------------+-------------+-----+
| 08 | second message  | 2018-03-14  |  2  |
|    | another message |             |     |
+----+-----------------+-------------+-----+
| 10 | first message   | 2018-03-07  |  8  |

СУБД - MySQL 5.5

Answer 1
SELECT MIN(id) id,
       GROUP_CONCAT(message ORDER BY id SEPARATOR '\n') message,
       MAX(`date`) `date`,
       ref
FROM sourcetable
GROUP BY ref
READ ALSO
Отображение нужного блока по нажатию на кнопку

Отображение нужного блока по нажатию на кнопку

Имеются кнопки и идущие за ними блокиУ кнопок одинаковый класс и у блоков также

175
Как сделать лучше фронт часть?

Как сделать лучше фронт часть?

Ситуация такова Есть 22 пунктов слева Есть слайдер справа( слайдер из фотографии ) При клике на пункт, слайдер должен иметь те фото что относятся...

207
VUE js и this - как использовать

VUE js и this - как использовать

Обращение к this внутри функции, созданной в объекте Vue указывает на сам объект 'Vue'Как обратиться к this элемента, на котором произошло событие...

223