Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
SELECT - HAVING clause (Transact-SQL)
Applies to: 👁 Image
SQL Server 👁 Image
Azure SQL Database 👁 Image
Azure SQL Managed Instance 👁 Image
Azure Synapse Analytics 👁 Image
Analytics Platform System (PDW) 👁 Image
SQL analytics endpoint in Microsoft Fabric 👁 Image
Warehouse in Microsoft Fabric 👁 Image
SQL database in Microsoft Fabric
Specifies a search condition for a group or an aggregate. You can use HAVING only with the SELECT statement. Typically, you use HAVING with a GROUP BY clause. When you don't use GROUP BY, there's an implicit single, aggregated group.
👁 Image
Transact-SQL syntax conventions
Syntax
[ HAVING <search condition> ]
Arguments
<search_condition>
Specifies one or more predicates for groups and aggregates that the groups need to meet. For more information about search conditions and predicates, see Search condition.
You can't use the text, image, and ntext data types in a HAVING clause.
Examples
The code samples in this article use the AdventureWorks2025 or AdventureWorksDW2025 sample database, which you can download from the Microsoft SQL Server Samples and Community Projects home page.
A. Retrieve total for each sales order
The following example uses a HAVING clause to retrieve the total for each SalesOrderID from the SalesOrderDetail table that exceeds $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;
Examples: Azure Synapse Analytics and Analytics Platform System (PDW)
B. Retrieve total sales exceeding a given value
The following example uses a HAVING clause to retrieve the total SalesAmount that exceeds 80000 for each OrderDateKey from the FactInternetSales table.
-- Uses AdventureWorks
SELECT OrderDateKey,
SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;
Related content
Feedback
Was this page helpful?
