SELECT: HAVING (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Warehouse en Microsoft Fabric Base de datos SQL de Microsoft Fabric
Especifica una condición de búsqueda para un grupo o agregado. HAVING solo se puede utilizar con la instrucción SELECT. Normalmente, HAVING se usa con una cláusula GROUP BY. Cuando no se usa GROUP BY, hay un solo grupo implícito agregado.
Convenciones de sintaxis de Transact-SQL
Sintaxis
[ HAVING <search condition> ]
Argumentos
<search_condition>: especifica uno o más predicados que los grupos o agregados deben satisfacer. Para obtener más información sobre los predicados y las condiciones de búsqueda, consulte Condiciones de búsqueda (Transact-SQL).
Los tipos de datos text, image y ntext no se pueden usar en una cláusula HAVING.
Ejemplos
En el ejemplo siguiente, donde se utiliza una cláusula HAVING
simple, se recupera el total de cada SalesOrderID
de la tabla SalesOrderDetail
que exceda $100000.00
.
USE AdventureWorks2022;
GO
SELECT SalesOrderID, SUM(LineTotal) AS SubTotal
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID
HAVING SUM(LineTotal) > 100000.00
ORDER BY SalesOrderID ;
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
En el ejemplo siguiente se usa una cláusula HAVING
para recuperar el total de cada SalesAmount
que supera 80000
por cada OrderDateKey
de la tabla FactInternetSales
.
-- Uses AdventureWorks
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;