Sdílet prostřednictvím


SELECT - MÍT (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Určuje podmínku hledání pro skupinu nebo agregaci. Funkce HAVING se dá použít pouze s příkazem SELECT. HAVING se obvykle používá s klauzulí GROUP BY. Pokud se funkce GROUP BY nepoužívá, existuje implicitní jedna agregovaná skupina.

Transact-SQL konvence syntaxe

Syntax

[ HAVING <search condition> ]  

Arguments

< > search_condition Určuje jeden nebo více predikátů pro skupiny nebo agregace, které se mají splnit. Další informace o podmínkách hledání a predikátech najdete v tématupodmínky hledání (Transact-SQL).

Textové, obrázkové a ntextové datové typy nelze použít v klauzuli HAVING.

Examples

Následující příklad, který používá jednoduchou HAVING klauzuli načte součet pro každou SalesOrderID z SalesOrderDetail tabulky, která překračuje $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 ;  

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

Následující příklad používá HAVING klauzuli k načtení součtu SalesAmount , který přesahuje 80000 pro každou OrderDateKey z FactInternetSales tabulky.

-- Uses AdventureWorks  
  
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales   
FROM FactInternetSales  
GROUP BY OrderDateKey   
HAVING SUM(SalesAmount) > 80000  
ORDER BY OrderDateKey;  

Viz také

SKUPINA PODLE (Transact-SQL)
KDE (Transact-SQL)