我有一个名为games
的表。每个游戏属于一个或多个类别。我有一个使用GROUP BY category_id
但不返回所需结果的查询。对于下面的示例,COD
属于三个category_id
但查询只显示该特定游戏,而忽略了具有相同category_id
的其他游戏。如何实现以下所需的查询?
查询:
SELECT *
FROM games
GROUP BY category_id
预期结果:
+----------------+--------------------------+
| game_name | category_id |
+----------------+--------------------------+
| COD | adventure, fighting, fps |
| Tekken | fighting |
| Need for Speed | racing |
+----------------+--------------------------+
SqlFiddle
最佳答案
使用组连接函数
SELECT
game_name, GROUP_CONCAT(category_id) categories
FROM
games
GROUP BY
game_name;
祝你好运!
关于mysql - 显示一行具有多个类别的值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33052607/