以下のような 2 つの列を持つ単純なテーブルがあります。
Id | Name
0 | A
1 | A
2 | B
3 | B
4 | C
5 | D
6 | E
7 | E
各「名前」がテーブルに表示される回数をカウントする SQL クエリを作成したいと考えています。ただし、これらの値が同じであるかのようにカウントするには、これらの値のいくつかが必要です。たとえば、通常の group by クエリは次のようになります。
select Name, count(*)
from table
group by Name
上記のクエリは、次の結果を生成します。
Name | Count
A | 2
B | 2
C | 1
D | 1
E | 2
しかし、「A」と「B」を「A」だけであるかのようにカウントし、「D」と「E」を「D」だけであるかのようにカウントするクエリが必要なので、結果は次のようになります。
Name | Count
A | 4 // (2 "A"s + 2 "B"s)
C | 1
D | 3 // (1 "D" + 2 "E"s)
この種のクエリを作成するにはどうすればよいですか?