Announcement

Collapse
No announcement yet.

Verschiedene Bedingungen bei Count

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschiedene Bedingungen bei Count

    Hey,

    ist es möglich in einer SQL Abfrage verschiedene Bedingungen für Count zu haben?

    Z.B.
    Select a, Count(clients), Count(clients2)
    From Table
    Where Arbeitsspeicher > 2000 .... MHZ > 2000

    Ich will jetzt quasi dass das erste Count die Clients zählt wo der Arbeitsspeicher größer ist als 2000 und der zweite Count die Clients zählt wo der Arbeitsspeicher größer ist als 2000 UND die MHZ Anzahl größer ist als 2000!

    Danke im Voraus für eure Hilfe!
    Zuletzt editiert von Oets; 15.06.2009, 13:37.

  • #2
    Hallo Oets,

    hier ein Beispiel (vorausgesetzt, die RDBMS ist der MSSQL):

    [highlight=SQL]SELECT -- Zählt Datensätze
    COUNT(*) AS AnzDatensaetze,
    -- Zählt eindeutige Clients
    COUNT(DISTINCT clients),
    -- Anzahl mit AS > 2000
    SUM(CASE WHEN Arbeitsspeicher > 2000 THEN 1 ELSE 0 END) AS Anzahl1,
    -- Anzahl mit AS > 2000 UND MHz > 2000
    SUM(CASE WHEN Arbeitsspeicher > 2000 AND MHz > 2000 THEN 1 ELSE 0 END) AS Anzahl2
    FROM Tabelle[/highlight]

    Für den bedingten COUNT wird die SUM Aggregation zusammen mit einem CASE WHEN verwendet.
    Anders formuliert: Trifft die Bedingung zu, werte den Datensatz mit 1 sonst 0 und summiere mir das.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Danke, hat super geklappt!

      Comment

      Working...
      X