SELECT – HAVING (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric Banco de Dados SQL no Microsoft Fabric
Especifica um critério de pesquisa para um grupo ou uma agregação. HAVING pode ser usado somente com a instrução SELECT. HAVING é normalmente usado com uma cláusula GROUP BY. Quando GROUP BY não for usado, haverá um único grupo agregado e implícito.
Convenções de sintaxe de Transact-SQL
Sintaxe
[ HAVING <search condition> ]
Argumentos
<search_condition> especifica um ou mais predicados aos quais os grupos e/ou as agregações devem corresponder. Para obter mais informações sobre critérios de pesquisa e predicados, confira Critério de pesquisa (Transact-SQL).
Os tipos de dados text, image e ntext não podem ser usados em uma cláusula HAVING.
Exemplos
O exemplo a seguir que usa uma cláusula simples HAVING
recupera o total para cada SalesOrderID
da tabela SalesOrderDetail
que excede $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 ;
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
O exemplo a seguir usa uma cláusula HAVING
para recuperar a SalesAmount
total que excede 80000
para cada OrderDateKey
da tabela FactInternetSales
.
-- Uses AdventureWorks
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;