获取每个已加入记录的计数

时间:2013-02-19 10:54:12

标签: sql count

我有两张桌子,我想加入......

A:
ID Otherfields..
1  ...
2
3
4


B:
ID aId  Otherfields..
1  1    ...
2  1
3  2
4  1

所以我完全有能力通过a.Id加入他们但是如何得到表B中的比赛计数,如:

a.id  count(b)
1     3
2     1

我认为它必须是count()over(),但不能回想起确切用法。

谢谢!

2 个答案:

答案 0 :(得分:3)

你可以这样做:

SELECT 
  A.ID, COUNT(b.ID)
FROM A 
INNER JOIN B ON A.Id = b.aID
GROUP BY A.ID

答案 1 :(得分:2)

你可以拥有

SELECT A.ID, COUNT(b.ID)
FROM A 
LEFT JOIN B ON A.Id = b.aID
GROUP BY A.ID

这将为您提供a.ID中不存在的所有b.ID,因此将其计数显示为0.

如,

ID   Count
1    3
2    1
3    0
4    0