我有以下 SQL 关系
用户有很多游戏 游戏有可能的用户
User
----
id | name | age |
__________________
1 | mike | 11 |
2 | jeff | 12 |
3 | jake | 31 |
4 | lemd | 81 |
Game
-----
id | name | time |
_____________________
1 | froyo | 11:10 |
2 | honey | 12:22 |
3 | combb | 13:00 |
4 | lolli | 14:00 |
User_Game
----------
| userid | game_id |
___________________
| 1 | 2 |
| 2 | 2 |
| 3 | 1 |
| 4 | 3 |
| 1 | 2 |
| 2 | 4 |
| 2 | 1 |
对于每个用户来说,有一种方法可以获得 他们玩过的游戏列表,包括数量 每个用户参与的游戏数量。
编辑
我尝试了这个查询
Select User.name, User.age
from User
inner join User_Game
on User.id=User_Game.userid;
但是不确定如何添加计数
最佳答案
SELECT
userid,
GROUP_CONCAT(game_id) as game_list,
COUNT(*) as total_games
FROM
USER_GAME
GROUP BY
userid;
关于mysql - SQL中查询多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27538286/