Andi: SQL count mit abhängigkeit?

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?

  1. 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ß

    1. SELECT COUNT(DISTINCT *) FROM TABLE;

      vieleicht auch distinct count(*)
      Musst halt mal probieren.

      Gruß

  2. 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

    --
    -------------------
    Vegetarier essen meinem Essen das Essen weg.