- 21.01.2020
- 2 Minuten zum Lesen
-
- V
- c
- M
- m
- M
-
+4
Gilt für: SQL Server (alle unterstützten Versionen) Azure SQL Datenbank Azure SQL Managed Instance Azure Synapse Analytics Paralleles Data Warehouse
Sie spezifizieren eine Suchbedingung für eine Gruppe oder ein Aggregat. HAVING kann nur mit der SELECT-Anweisung verwendet werden. HAVING wird normalerweise mit einer GROUP BY-Klausel verwendet. Wenn GROUP BY nicht verwendet wird, gibt es eine implizite einzelne, aggregierte Gruppe.
Transact-SQL-Syntaxkonventionen
Syntax
Hinweis
Die Transact-SQL-Syntax für SQL Server 2014 und früher finden Sie in der Dokumentation zu früheren Versionen.
Argumente
<search_condition>Sie gibt ein oder mehrere Prädikate an, die Gruppen und/oder Aggregate erfüllen müssen. Weitere Informationen zu Suchbedingungen und Prädikaten finden Sie unter Suchbedingung (Transact-SQL).
Die Datentypen text, image und ntext können nicht in einer HAVING-Klausel verwendet werden.
Beispiele
Das folgende Beispiel, das eine einfache HAVING
-Klausel verwendet, ruft die Summe für jedes SalesOrderID
aus der Tabelle SalesOrderDetail
ab, die $100000.00
überschreitet.
USE AdventureWorks2012 ; GO SELECT SalesOrderID, SUM(LineTotal) AS SubTotal FROM Sales.SalesOrderDetail GROUP BY SalesOrderID HAVING SUM(LineTotal) > 100000.00 ORDER BY SalesOrderID ;
Beispiele: Azure Synapse Analytics und Parallel Data Warehouse
Das folgende Beispiel verwendet eine HAVING
-Klausel, um die Summe abzurufen SalesAmount
, die 80000
übersteigt, für jedes OrderDateKey
aus der Tabelle FactInternetSales
.
-- Uses AdventureWorks SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales FROM FactInternetSales GROUP BY OrderDateKey HAVING SUM(SalesAmount) > 80000 ORDER BY OrderDateKey;
See Also
GROUP BY (Transact-SQL)
WHERE (Transact-SQL)