我有以下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;
但不确定如何将计数添加到它
答案 0 :(得分:2)
SELECT
userid,
GROUP_CONCAT(game_id) as game_list,
COUNT(*) as total_games
FROM
USER_GAME
GROUP BY
userid;