SELECT – HAVING (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL-Analyseendpunkt in Microsoft Fabric Warehouse in Microsoft Fabric SQL-Datenbank in Microsoft Fabric
Gibt eine Suchbedingung für eine Gruppe oder ein Aggregat an. HAVING kann nur mit der SELECT-Anweisung verwendet werden. HAVING wird in der Regel mit einer GROUP BY-Klausel verwendet. Wenn GROUP BY nicht verwendet wird, gibt es eine implizite einzelne, aggregierte Gruppe.
Transact-SQL-Syntaxkonventionen
Syntax
[ HAVING <search condition> ]
Argumente
<search_condition> gibt ein oder mehrere Prädikate für Gruppen und Aggregate an, die erfüllt werden müssen. Weitere Informationen zu Suchbedingungen und Prädikaten finden Sie unter Suchbedingung (Transact-SQL).
Die Datentypen text, image und ntext können in einer HAVING-Klausel nicht verwendet werden.
Beispiele
Im folgenden Beispiel, in dem eine einfache HAVING
-Klausel verwendet wird, werden die Gesamtsummen für SalesOrderID
aus der SalesOrderDetail
-Tabelle abgerufen, die $100000.00
überschreiten.
USE AdventureWorks2022;
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 Analytics-Plattformsystem (PDW)
Im folgenden Beispiel wird eine HAVING
-Klausel zum Abrufen der Summe von SalesAmount
verwendet, die 80000
für alle OrderDateKey
-Werte aus der FactInternetSales
-Tabelle überschreiten.
-- Uses AdventureWorks
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;