1

参加したいテーブルが2つあります..

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() を使用する必要があると考えましたが、正確な使用法を思い出すことはできません。

ありがとう!

4

2 に答える 2

3

これを簡単に行うことができます:

SELECT 
  A.ID, COUNT(b.ID)
FROM A 
INNER JOIN B ON A.Id = b.aID
GROUP BY A.ID
于 2013-02-19T10:59:04.703 に答える
2

あなたが持つことができます

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

a.IDこれにより、に存在しないすべてのsが得られるb.IDため、カウントは0として表示されます。

例えば、

ID   Count
1    3
2    1
3    0
4    0
于 2013-02-19T11:01:11.753 に答える