SQL count mit abhängigkeit?
Andi
- datenbank
Hallo,
Ich würde gerne aus einer Tabelle mit einer Count-Anweisung
Einträge zählen lassen (MSSQL).
Allerdings möchte ich, dass wenn ein bestimmtes Feld innerhalb einer Zeile einen bestimmten Wert enthält nur einmal mitgezählt wird.
Bsp. Id Name City Street
14f Beispiel Emden Bsp-Str. 1
15f Test Emden Bsp-Str. 1
16f Test2 Emden Test-Str. 2
Jetzt würde ich gerne mit einem Select Count(*) auf Street nur einen Eintrag von Bsp-Str. 1 mitgezählt bekommen.
Wie bekomme ich das am besten hin?
Jetzt würde ich gerne mit einem Select Count(*) auf Street nur einen Eintrag von Bsp-Str. 1 mitgezählt bekommen.
Wie bekomme ich das am besten hin?
SELECT COUNT(DISTINCT *) FROM TABLE;
Müsste so funktionieren.
Bin mir aber nicht sicher ob das mit dem distinct * auch so klappt.
Wenn du ein Feld direkt ansprichst geht es auf jeden fall.
Gruß
SELECT COUNT(DISTINCT *) FROM TABLE;
vieleicht auch distinct count(*)
Musst halt mal probieren.
Gruß
Hello,
Wie bekomme ich das am besten hin?
du kannst gruppieren lassen, d.h. es werden vor dem Zählen gleichartige Elemente zusammengefasst:
SELECT street, COUNT(street)
FROM table
GROUP BY street
Eh du auf dumme Gedanken kommst: Bitte füge im Select keine Spalten hinzu, die nicht entweder beim GROUP BY auftauchen oder ebenfalls von einer Aggregationsfunktion wie SUM, COUNT, ... betroffen sind.
MfG
Rouven