[英]SQL #/count from inner join
我有一個簡單的查詢:
SELECT games.*
FROM games
INNER JOIN invitations ON invitations.game_id = games.id
我想獲得#(COUNT)個游戲邀請。 我不確定將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
。 如果您想要總數,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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.