- 01/21/2020
- 2 minuten om te lezen
-
- V
- c
- M
- m
- M
-
+4
Geldt voor: SQL Server (alle ondersteunde versies) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Parallel Data Warehouse
Specificeert een zoekvoorwaarde voor een groep of een aggregaat. HAVING kan alleen worden gebruikt met het SELECT statement. HAVING wordt meestal gebruikt met een GROUP BY-clausule. Wanneer geen GROUP BY wordt gebruikt, is er impliciet sprake van één enkele, geaggregeerde groep.
Transact-SQL Syntax Conventions
Syntax
Note
Om de Transact-SQL syntax voor SQL Server 2014 en eerder te bekijken, raadpleegt u de documentatie voor eerdere versies.
Argumenten
<search_condition>Specificeert een of meer predikaten waaraan groepen en/of aggregaten moeten voldoen. Zie Zoekvoorwaarde (Transact-SQL) voor meer informatie over zoekvoorwaarden en predicaten.
De gegevenstypen tekst, afbeelding en ntext kunnen niet in een HAVING-clausule worden gebruikt.
Voorbeelden
Het volgende voorbeeld dat een eenvoudige HAVING
clausule gebruikt, haalt het totaal op voor elke SalesOrderID
uit de SalesOrderDetail
tabel die groter is dan $100000.00
.
USE AdventureWorks2012 ; GO SELECT SalesOrderID, SUM(LineTotal) AS SubTotal FROM Sales.SalesOrderDetail GROUP BY SalesOrderID HAVING SUM(LineTotal) > 100000.00 ORDER BY SalesOrderID ;
Voorbeelden: Azure Synapse Analytics en Parallel Data Warehouse
Het volgende voorbeeld gebruikt een HAVING
-clausule om het totaal op te halen SalesAmount
dat 80000
overschrijdt voor elke OrderDateKey
uit de FactInternetSales
tabel.
-- Uses AdventureWorks SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales FROM FactInternetSales GROUP BY OrderDateKey HAVING SUM(SalesAmount) > 80000 ORDER BY OrderDateKey;
Zie ook
GROUP BY (Transact-SQL)
WAAR (Transact-SQL)