分享方式:


SELECT - HAVING (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲

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

Transact-SQL 語法慣例

語法

[ HAVING <search condition> ]  

引數

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

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

範例

使用簡單 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 超出 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)