1
我有一个简单的查询:SQL#/计数从内部联接
SELECT games.*
FROM games
INNER JOIN invitations ON invitations.game_id = games.id
我想#(COUNT)游戏的邀请。 我不确定在哪儿放计数声明。
我有一个简单的查询:SQL#/计数从内部联接
SELECT games.*
FROM games
INNER JOIN invitations ON invitations.game_id = games.id
我想#(COUNT)游戏的邀请。 我不确定在哪儿放计数声明。
您将使用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
的count
那张select
子句。它计算该记录的分组级别的所有记录。为了得到你需要通过games.id
分组的游戏计数。如果你仅仅指刚想要总数然后从SELECT子句中删除,games.id
并没有做任何的分组。
SELECT count(invitations.invitationID), games.id
FROM games
INNER JOIN invitations ON invitations.game_id = games.id
Group By Games.Id