我有一个包含这些值的数据库。
+----+--------+-----------+
| 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
等,但是如何使脚本自动对所有值进行分组并以这种方式显示它们呢?
答案 0 :(得分:1)
使用函数 GROUP_CONCAT()获取以逗号分隔的值列表,并使用 GROUP BY 子句收集每个类别的值:
SELECT
`category`,
GROUP_CONCAT(`value`) as `values`
FROM `tablename`
GROUP BY `category`
ORDER BY `category`