SELECT - HAVING (Transact-SQL)
適用対象: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric のSQL 分析エンドポイント
Microsoft Fabric のウェアハウス
グループまたは集計の検索条件を指定します。 HAVING は、SELECT ステートメントと共にのみ使用できます。 通常、HAVING は GROUP BY 句と共に使用されます。 GROUP BY を使用しない場合は、暗黙的な 1 つの集計グループがあります。
構文
[ HAVING <search condition> ]
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
<search_condition> は、条件を満たすグループと集計のいずれか、または両方に対して、1 つ以上の述語を指定します。 検索条件および述語の詳細については、「検索条件 (Transact-SQL)」を参照してください。
text、image、および ntext 型は HAVING 句では使用できません。
例
次の例では、HAVING
テーブルから SalesOrderID
を超える SalesOrderDetail
ごとの合計を取得する単純な $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 ;
例: Azure Synapse Analytics、Analytics Platform System (PDW)
次の例では、HAVING
句を使用して、FactInternetSales
テーブルから各 OrderDateKey
の 80000
を超える合計 SalesAmount
を取得します。
-- Uses AdventureWorks
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;