Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
Depósito no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
Especifica um critério de pesquisa para um grupo ou uma agregação. Você só pode usar HAVING com a instrução SELECT . Normalmente, você usa HAVING com uma GROUP BY cláusula. Quando você não usa GROUP BY, há um único grupo agregado implícito.
Convenções de sintaxe de Transact-SQL
Syntax
[ HAVING <search condition> ]
Arguments
<search_condition>
Especifica um ou mais predicados para grupos e agregações que os grupos precisam atender. Para obter mais informações sobre condições de pesquisa e predicados, consulte a condição de pesquisa.
Você não pode usar os tipos de dados de texto, imagem e ntext em uma HAVING cláusula.
Examples
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.
A. Recuperar o total para cada pedido de venda
O exemplo a seguir usa uma HAVING cláusula para recuperar o total de cada SalesOrderID uma da SalesOrderDetail tabela que excede $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;
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
B. Recuperar o total de vendas que excede um determinado valor
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;