Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Anger ett sökvillkor för en grupp eller en aggregering. Du kan bara använda HAVING med -instruktionen SELECT . Vanligtvis använder HAVING du med en GROUP BY sats. När du inte använder GROUP BYfinns det en implicit enskild, aggregerad grupp.
Transact-SQL syntaxkonventioner
Syntax
[ HAVING <search condition> ]
Arguments
<search_condition>
Anger ett eller flera predikat för grupper och aggregeringar som grupperna behöver uppfylla. Mer information om sökvillkor och predikat finns i Sökvillkor.
Du kan inte använda datatyperna text, bild och ntext i en HAVING sats.
Examples
Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.
A. Hämta totalsumma för varje försäljningsorder
I följande exempel används en HAVING sats för att hämta summan för varje SalesOrderID från tabellen SalesOrderDetail som överskrider $100000.00.
USE AdventureWorks2025;
GO
SELECT SalesOrderID,
SUM(LineTotal) AS SubTotal
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID
HAVING SUM(LineTotal) > 100000.00
ORDER BY SalesOrderID;
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
B. Hämta total försäljning som överstiger ett angivet värde
I följande exempel används en HAVING sats för att hämta summan SalesAmount som överskrider 80000 för varje OrderDateKey från FactInternetSales tabellen.
-- Uses AdventureWorks
SELECT OrderDateKey,
SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;