SQL-Abfrage, um zu zählen, wie oft bestimmte Werte in mehreren Zeilen auftreten

Angenommen, ich habe eine Tabelle mit Wahldaten, nennen wir es WAHLEN, mit einer Zeile pro Wähler pro Wahl, wie folgt:

VoterID ElectionID
A           1
A           2
B           1
C           2
D           3
E           1
E           2

Ich möchte die Anzahl der Wähler wissen, die sowohl bei Wahl 1 als auch bei Wahl 2 gewählt haben. Mir ist sonst niemand wichtig. Die Zahl sollte 2 sein (Wähler A und Wähler E).

Würde so etwas funktionieren:

select count(Elections) as NumVoters
from (
select VoterID, ElectionID, count(ElectionID) as Elections
from ELECTIONS
where ElectionID=1 or ElectionID=2
group by VoterID
having (count(ElectionID)=2)
) x;

UPDATE: Dies ist meine erste Frage hier und ich bin überwältigt, wie hilfsbereit und schnell Leute waren. Ich habe die obige Abfrage überarbeitet, um das Fehlen eines Alias am Ende zu beheben und ein abschließendes Semikolon hinzuzufügen.

DANKESCHÖN!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage