SELECT: HAVING (Transact-SQL)
Se aplica a: punto de conexión de SQL Server
Azure SQL Database
Azure SQL Instancia administrada
punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics
System (PDW)
de SQL Server en Microsoft Fabric
Warehouse en 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> ]
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
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;