Hallo,
ich beschäftige mich gerade etwas mit SQL, und bin auf ein Problem gestoßen:
Ich habe eine Datenbank, die jeden Einkauf in einem Geschäft festhalten soll.
Es gibt Spalten wie Vorname, Nachname, Ware, Warensparte, Preis, Kaufdatum, etc.
Wenn ich jetzt den Umsatz von Männern, die verschiedene Waren von verschiedenen Warensparten gekauft haben, ausgeben möchte, mache ich das so:
SELECT Warensparte, SUM(Preis) AS Umsatz FROM db.tab WHERE Geschlecht='m' GROUP BY Warensparte;
Es erzeugt das gewünschte Ergebnis.
Aber
SELECT Warensparte, SUM(Preis) AS Umsatz FROM db.tab GROUP BY Warensparte HAVING Geschlecht='m';
müsste dasselbe Ergebnis erzeugen.
Wann benutze ich also WHERE und wann HAVING?
Danke schonmal im Voraus.
ich beschäftige mich gerade etwas mit SQL, und bin auf ein Problem gestoßen:
Ich habe eine Datenbank, die jeden Einkauf in einem Geschäft festhalten soll.
Es gibt Spalten wie Vorname, Nachname, Ware, Warensparte, Preis, Kaufdatum, etc.
Wenn ich jetzt den Umsatz von Männern, die verschiedene Waren von verschiedenen Warensparten gekauft haben, ausgeben möchte, mache ich das so:
SELECT Warensparte, SUM(Preis) AS Umsatz FROM db.tab WHERE Geschlecht='m' GROUP BY Warensparte;
Es erzeugt das gewünschte Ergebnis.
Aber
SELECT Warensparte, SUM(Preis) AS Umsatz FROM db.tab GROUP BY Warensparte HAVING Geschlecht='m';
müsste dasselbe Ergebnis erzeugen.
Wann benutze ich also WHERE und wann HAVING?
Danke schonmal im Voraus.