Compartilhar via


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;  

Consulte Também

GROUP BY (Transact-SQL)
WHERE (Transact-SQL)