SELECT - HAVING (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Menentukan kondisi pencarian untuk grup atau agregat. HAVING hanya dapat digunakan dengan pernyataan SELECT. HAVING biasanya digunakan dengan klausa GROUP BY. Ketika GROUP BY tidak digunakan, ada grup agregat tunggal implisit.
Sintaks
[ HAVING <search condition> ]
Argumen
<> search_condition Menentukan satu atau beberapa predikat untuk grup dan/atau agregat untuk dipenuhi. Untuk informasi selengkapnya tentang kondisi dan predikat pencarian, lihat Kondisi Pencarian (Transact-SQL).
Tipe data teks, gambar, dan ntext tidak dapat digunakan dalam klausa HAVING.
Contoh
Contoh berikut yang menggunakan klausul sederhana HAVING
mengambil total untuk masing-masing SalesOrderID
dari SalesOrderDetail
tabel yang melebihi $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 ;
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut menggunakan klausul HAVING
untuk mengambil total SalesAmount
yang melebihi 80000
masing-masing OrderDateKey
dari FactInternetSales
tabel.
-- Uses AdventureWorks
SELECT OrderDateKey, SUM(SalesAmount) AS TotalSales
FROM FactInternetSales
GROUP BY OrderDateKey
HAVING SUM(SalesAmount) > 80000
ORDER BY OrderDateKey;