Hallo,
ich möchte in einer Tabelle zählen, wieviele unterschiedliche Daten enthalten sind.
Spalte 1 Spalte 2 Spalte 3 Spalte 4
aaa 111 a xxx
aaa 111 a yyy
aaa 111 b zzz
aaa 222 a beliebig
aaa 333 c
bbb 444 a
bbb 555 a
bbb 666 d
ccc 777 e
Ergebnisspalte 1 Ergebnisspalte 2
aaa 4
bbb 3
ccc 1
Es soll gezählt werden für gleiche Einträge in der Spalte 1, wieviele unterschiedliche Datensätze es in den Spalten 2 und 3 gibt. Bei "aaa" soll zum Beispiel die doppelte Kombination "111" und "a" nur einmal gezählt werden. Innerhalb von "aaa" soll die Kombination "222" und "a" aber wieder mitgezählt werden.
Ich habe mich mit diversen DISTINCTs, COUNTs und GROUP BYs abgemüht, ohne dass es geklappt hat. Ich habe es bisher nur hingekriegt zu zählen, wie oft aaa, bbb usw. jeweils insgesamt vorhanden ist und wie oft innerhalb der Spalte 1 unterschiedliche Werte nur in Spalte 2 stehen (das brauchte ich aber beides auch). Letzteres habe ich mit "SELECT COUNT(DISTINCT(Spalte 2)), Spalte 1 FROM tabelle GROUP BY Spalte 1" und ersteres mit "SELECT Spalte 1, COUNT(*) FROM tabelle GROUP BY Spalte 1" (ich glaube, da hatte ich auch noch andere Lösungen) gemacht.
Die triviale Lösung für obiges Problem "SELECT COUNT(DISTINCT(Spalte 2, Spalte 3)), Spalte 1 FROM tabelle GROUP BY Spalte 1" scheint nicht zu funktionieren.
Gruß+Danke