Having
WHERE
wird verwendet, um Zeilen zu filtern, bevor eine Gruppierung erfolgt. Wenn du eine Gruppierungsoperation durchgeführt hast, möchtest du vielleicht die Anzahl der zurückgegebenen Zeilen weiter einschränken. Dies ist ein Job für HAVING
.
In dieser Übung änderst du eine bestehende Abfrage so ab, dass sie HAVING
verwendet, so dass nur die Ergebnisse mit einer Summe von über 10000
zurückgegeben werden.
Diese Übung ist Teil des Kurses
Einführung in SQL Server
Anleitung zur Übung
- Ändere die bereitgestellte Abfrage, um die
WHERE
Klausel zu entfernen. - Ersetze sie durch eine
HAVING
Klausel, damit nur Ergebnisse zurückgegeben werden, bei denen die Summe vondemand_loss_mw
größer als10000
ist.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
SELECT
nerc_region,
SUM (demand_loss_mw) AS demand_loss
FROM
grid
-- Remove the WHERE clause
WHERE demand_loss_mw IS NOT NULL
GROUP BY
nerc_region
-- Enter a new HAVING clause so that the sum of demand_loss_mw is greater than 10000
___
___(demand_loss_mw) > ___
ORDER BY
demand_loss DESC;