2017-04-12 4 views
0

Ich bin relativ neu in SQL, und ich übersehe wahrscheinlich eine einfache Antwort.Ich versuche zu bestimmen, wie man eine mehrstufige Zählung durchführt

Zum Beispiel habe ich eine Tabelle mit den folgenden Spalten

CustomerID

Hair_Color

Eye_Color

Skin_Color

Zahnspange (Y/N)


Ich möchte 4 zählt einzigartiger CustomerIDs

  1. ich eine Anzahl derer, wollen die

  2. Dann möchte ich eine Anzahl von all jene Blondine, die blaue Augen haben, aber wenn sie waren blond, ich sie enthalten nicht wollen

  3. Dann möchte ich eine Zählung alle, die Kaukasier sind, aber wenn sie blond waren oder hatte blaue Augen, ich will sie nicht enthalten

  4. Dann möchte ich alle mit Zahnspangen zählen, aber wenn sie blond waren, blaue Augen hatten oder Kaukasier waren, wollte ich nicht, dass sie dabei waren.

+0

Es ist schön, dass Sie sie wollen, aber so ist kein Codeschreibdienst. Bitte füge hinzu, was du bisher versucht hast. – mherzig

+0

Entschuldigung. Ich werde sicherstellen, dass das nächste Mal aufgenommen wird. – Robert

Antwort

2

CASE Statements zur Rettung:

SELECT 
    SUM(CASE when hair_color = 'blonde' then 1 ELSE 0 END) as blondes, 
    SUM(CASE WHEN eye_color = 'blue' and hair_color <> 'blonde' THEN 1 ELSE 0 END) as 'Blue_eyed_non_blondes', 
    etc.. 
FROM table 
+0

Danke !!! Das hat den Trick gemacht! – Robert

Verwandte Themen