SELECT - HAVING (Transact-SQL)

適用範圍: 是SQL Server (所有支援的版本) 是Azure SQL Database 是Azure SQL 受控執行個體 是Azure Synapse Analytics 是平行處理資料倉儲

指定群組或彙總的搜尋條件。 HAVING 只能搭配 SELECT 陳述式使用。 HAVING 通常會與 GROUP BY 子句搭配使用。 未使用 GROUP BY 時,會有隱含的單一彙總群組。

主題連結圖示 Transact-SQL 語法慣例

語法

[ HAVING <search condition> ]  

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

<search_condition> 指定一或多個要讓群組和/或彙總相符的述詞。 如需有關搜尋條件和述詞的詳細資訊,請參閱搜尋條件 (Transact-SQL)

在 HAVING 子句中,不能使用 textimagentext 資料類型。

範例

使用簡單 HAVING 子句的下列範例會從 SalesOrderID 資料表中,擷取超出 SalesOrderDetail 的每個 $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 ;  

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

使用簡單 HAVING 子句的下列範例,會從 FactInternetSales 資料表擷取每個 OrderDateKey 超出 80000SalesAmount 總數。

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

另請參閱

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