SELECT - HAVING (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库
指定组或聚合的搜索条件。 HAVING 只能与 SELECT 语句一起使用。 HAVING 通常与 GROUP BY 子句一起使用。 如果未使用 GROUP BY,则会有隐式的单一、聚合组。
语法
[ HAVING <search condition> ]
参数
<search_condition> 指定需要组和/或聚合需要满足的一个或更多谓词。 有关搜索条件和谓词的详细信息,请参阅搜索条件 (Transact-SQL)。
不能在 HAVING 子句中使用 text、image 和 ntext 数据类型 。
示例
以下示例使用简单 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
检索超过 80000
的总 SalesAmount
。
-- Uses AdventureWorks
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;