2016-04-04 2 views
1

Это своего рода глупый вопрос, и я уже сделал это с использованием php, но мне было интересно, могу ли я сгруппировать все уникальные элементы в столбце, разделенные запятой в моем запросе.Элементы группы, разделенные запятыми в запросе MySQL

У меня есть столбец с запятыми теги

  • tag1, tag2
  • tag2, tag3
  • tag3, tag1

В настоящее время я делаю мой запрос с GROUP BY ('tag_col'), который возвращает в качестве это (как и список там). В конце концов, я должен вывести цикл со всеми уникальными тегами, которые я сделал в моем PHP-скрипте. вопрос должен был начать, что с помощью группы она групп в виде отдельных строк, которые содержат, например:

  • tag1, tag2

    и

  • tag2, tag1

Разве нет более разумного способа перечислить их все как tag1, tag2 и т. Д., Прежде чем сортировать его с помощью php.

+4

Именно поэтому для хранения тегов используется отдельная таблица –

+0

В tag_col всегда есть 2 тега? –

+0

Нет, есть до 20 – dev

ответ

1

Вы можете использовать GROUP_CONCAT для этого, я думаю, он позволит вам объединить все их в одну строку, используя GROUP_CONCAT(tag_col) и удалив вашу группу.

Затем с помощью php вы можете превратить его в массив, и оттуда легко удалить любые дубликаты.

Смежные вопросы