SELECT - HAVING (Transact-SQL)SELECT - HAVING (Transact-SQL)

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Indique un critère de recherche pour un groupe ou une fonction d'agrégation.Specifies a search condition for a group or an aggregate. HAVING ne peut être utilisé qu'avec l'instruction SELECT.HAVING can be used only with the SELECT statement. HAVING est généralement utilisé avec une clause GROUP BY.HAVING is typically used with a GROUP BY clause. Sans la clause GROUP BY, un seul groupe agrégé est implicitement utilisé.When GROUP BY is not used, there is an implicit single, aggregated group.

Icône du lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

[ HAVING <search condition> ]  

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentsArguments

<search_condition>spécifie un ou plusieurs prédicats devant être remplis pour les groupes et/ou agrégats.<search_condition> Specifies one or more predicates for groups and/or aggregates to meet. Pour plus d’informations sur les prédicats et conditions de recherche, consultez Condition de recherche (Transact-SQL).For more information about search conditions and predicates, see Search Condition (Transact-SQL).

Les types de données text, image et ntext ne peuvent pas être utilisés avec une clause HAVING.The text, image, and ntext data types cannot be used in a HAVING clause.

ExemplesExamples

L'exemple suivant utilise une clause HAVING simple, extrait le total de chaque SalesOrderID depuis la table SalesOrderDetail qui dépasse les $100000.00.The following example that uses a simple HAVING clause retrieves the total for each SalesOrderID from the SalesOrderDetail table that exceeds $100000.00.

USE AdventureWorks2012 ;  
GO  
SELECT SalesOrderID, SUM(LineTotal) AS SubTotal  
FROM Sales.SalesOrderDetail  
GROUP BY SalesOrderID  
HAVING SUM(LineTotal) > 100000.00  
ORDER BY SalesOrderID ;  

Exemples : Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) et Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) and Parallel Data WarehouseParallel Data Warehouse

L’exemple suivant utilise une clause HAVING pour récupérer le SalesAmount total qui dépasse 80000 pour chaque OrderDateKey de la table FactInternetSales.The following example uses a HAVING clause to retrieve the total SalesAmount that exceeds 80000 for each OrderDateKey from the FactInternetSales table.

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

Voir aussiSee Also

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