GROUP_CONCAT
У MySQL для збереження списку значень у вигляді рядка, розділеного комами або іншими роздільниками, можна використовувати функцію GROUP_CONCAT
. Ця функція об'єднує значення з декількох рядків у один рядок з вказаним роздільником.
Приклад використання GROUP_CONCAT
GROUP_CONCAT
Синтаксис
DISTINCT
: Унікальні значення.expr
: Вираз для об'єднання.ORDER BY
: Сортування значень перед об'єднанням.SEPARATOR str
: Вказує роздільник. За замовчуванням використовується кома.
Приклад
Припустимо, у вас є таблиця employees
з наступними даними:
id | name |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
Ви хочете об'єднати імена всіх працівників у один рядок, розділений комами.
Результат:
employee_list |
---|
Alice,Bob,Carol |
Використання іншого роздільника
Якщо ви хочете використовувати інший роздільник, наприклад, крапку з комою:
Результат:
employee_list |
---|
Alice; Bob; Carol |
Використання з умовами та сортуванням
Ви можете додати умови та сортування до запиту:
Результат:
employee_list |
---|
Alice, Bob |
Виключення дублікатів за допомогою DISTINCT:
Цей запит об'єднає всі унікальні значення стовпця name.
Висновок
Функція GROUP_CONCAT
є потужним інструментом для об'єднання значень з кількох рядків у один рядок з вказаним роздільником. Це особливо корисно для створення списків значень у одному полі або для об'єднання даних з декількох рядків у зручному форматі.
Як зберегти результат запиту у змінну
Last updated