我有一个名为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 |
+----------------+--------------------------+
答案 0 :(得分:3)
使用GROUP_CONCAT功能
SELECT
game_name, GROUP_CONCAT(category_id) categories
FROM
games
GROUP BY
game_name;
祝你好运!