我有一个简单的问题:
SELECT games.*
FROM games
INNER JOIN invitations ON invitations.game_id = games.id
我想收到一场比赛的邀请。
我不知道该把计数表放在哪里。
最佳答案
您将使用count()
聚合函数并按游戏id分组:
SELECT g.id, g.name, count(i.game_id) TotalInvitations
FROM games g
INNER JOIN invitations i
ON i.game_id = g.id
group by g.id, g.name
这也可以使用子查询编写:
select g.*, i.TotalInvitations
FROM games g
INNER JOIN
(
select game_id, count(game_id) TotalInvitations
from invitations
group by game_id
) i
ON i.game_id = g.id
关于mysql - 内部联接的SQL#/计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15930902/