SELECT - HAVING (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse 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.

Konvensi sintaks transact-SQL

Sintaksis

[ HAVING <search condition> ]  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

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;  

Lihat Juga

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