次の方法で共有


SELECT - HAVING 句 (Transact-SQL)

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

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

Transact-SQL 構文表記規則

Syntax

[ HAVING <search condition> ]

Arguments

<search_condition>

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

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

Examples

この記事のコード サンプルでは、AdventureWorks2025 または AdventureWorksDW2025 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。

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

次の例では、HAVING句を使用して、$100000.00を超えるSalesOrderDetail テーブルから各SalesOrderIDの合計を取得します。

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、Analytics Platform System (PDW)

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;