Databases Reference
In-Depth Information
Bild 14.7■ Gruppierung der Monate mit CASE WHEN
Nun haben wir die Lebensdauer der Kunden in sechs Gruppen eingeteilt und wissen genau,
wie viele Kunden sich in jeder Gruppe beinden.
Es gibt aber noch eine andere (bessere) Variante: Wir werden bei jedem CASE -Ausdruck
gleich die Summe bilden.
select
sum(CASE WHEN (Monate = 0) THEN 1 ELSE 0 END) '0 Monate',
sum(CASE WHEN (Monate > 0 AND Monate <= 3) THEN 1 ELSE 0 END) 'bis 3 Monate',
sum(CASE WHEN (Monate > 3 AND Monate <= 6) THEN 1 ELSE 0 END) 'bis 6 Monate',
sum(CASE WHEN (Monate > 6 AND Monate <= 9) THEN 1 ELSE 0 END) 'bis 9 Monate',
sum(CASE WHEN (Monate > 9 AND Monate <= 12) THEN 1 ELSE 0 END) 'bis 12 Mona-
te',
sum(CASE WHEN (Monate > 12) THEN 1 ELSE 0 END) '> 12 Monate'
from
(Unterabfrage A (Unterabfrage B)
Schauen wir uns eine der Zeilen einmal genauer an.
Sum(CASE WHEN (Monate > 0 AND Monate <= 3) THEN 1 ELSE 0 END) 'bis 3
Monate'
Das bedeutet im Einzelnen:
CASE WHEN (Monate > 0 AND Monate <= 3) THEN 1 ELSE 0 END
Wenn das Ergebnis > 0 und <= 3 ist, dann gib eine „1“ aus, anderenfalls eine „0“.
Sum(CASE WHEN (Monate > 0 AND Monate <= 3) THEN 1 ELSE 0 END)
Summiere die Zahlen (= die Anzahl der Fälle, bei denen die Bedingung zutrit).
Search WWH ::




Custom Search