Как показать результаты на основе имени / категории? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть база данных с этими значениями.

+----+--------+-----------+
| id | value  | category  |
+----+--------+-----------+
|  1 | value1 | category1 |
|  2 | value2 | category1 |
|  3 | value3 | category2 |
|  4 | value4 | category3 |
+----+--------+-----------+

И я хочу, чтобы вывод был таким:

Category1: 
value1 
value2

Category2: 
value3

Category3: 
value4

Я знаю, что могу использовать WHERE category = category1 ..и т.д., но как мне сделать так, чтобы скрипт автоматически группировал все значения и показывал их таким образом?

1 Ответ

1 голос
/ 01 июля 2019

Используйте функцию GROUP_CONCAT () , чтобы получить список значений через запятую, и предложение GROUP BY для сбора значений для каждой категории:

SELECT
    `category`,
    GROUP_CONCAT(`value`) as `values`
FROM `tablename`
GROUP BY `category`
ORDER BY `category`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...