SELECT - HAVING 절(Transact-SQL)

적용 대상:SQL 서버Azure 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>

그룹이 충족해야 하는 그룹 및 집계에 대해 하나 이상의 조건자를 지정합니다. 검색 조건 및 조건자에 대한 자세한 내용은 검색 조건을 참조하세요.

절에는 텍스트, 이미지 및 ntext 데이터 형식을 HAVING 사용할 수 없습니다.

Examples

이 글의 코드 샘플은 Azure Data SQL Samples Repository GitHub 저장소에서 다운로드할 수 있는 , , AdventureWorksDW2025또는 AdventureWorksLT2025 샘플 데이터베이스를 사용합니다AdventureWorks2025.

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 테이블의 각 80000에 대해 OrderDateKey을 초과하는 FactInternetSales 합계를 검색합니다.

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