SELECT - HAVING 句 (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウスMicrosoft Fabric の SQL データベース

グループまたは集計の検索条件を指定します。 HAVINGは、SELECT ステートメントでのみ使用できます。 通常は、HAVING句でGROUP BYを使用します。 GROUP BYを使用しない場合、暗黙的な単一の集計グループがあります。

Transact-SQL 構文表記規則

Syntax

[ HAVING <search condition> ]

Arguments

<search_condition>

グループに対して 1 つ以上の述語を指定し、グループが満たす必要がある集計を指定します。 検索条件と述語の詳細については、「 検索条件」を参照してください。

句では、テキスト画像HAVINGのデータ型を使用できません。

Examples

この記事のコードサンプルは、Azure Data SQL Samples Repository GitHub repositoryからダウンロードできるAdventureWorks2025またはAdventureWorksDW2025サンプルデータベースを使用しています。

A。 各販売注文の合計を取得する

次の例では、HAVING句を使用して、SalesOrderIDを超えるSalesOrderDetail テーブルから各$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;

例: Azure Synapse Analytics

B: 指定した値を超える売上合計を取得する

次の例では、HAVING 句を使用して、SalesAmount テーブルから各 80000OrderDateKey を超える合計 FactInternetSales を取得します。

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