Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Menentukan kondisi pencarian untuk grup atau agregat. Anda hanya dapat menggunakan HAVING dengan SELECT pernyataan . Biasanya, Anda menggunakan HAVING dengan GROUP BY klausa. Saat Anda tidak menggunakan GROUP BY, ada grup agregat tunggal implisit.
Syntax
[ HAVING <search condition> ]
Arguments
<search_condition>
Menentukan satu atau beberapa predikat untuk grup dan agregat yang perlu dipenuhi grup. Untuk informasi selengkapnya tentang kondisi dan predikat pencarian, lihat Kondisi pencarian.
Anda tidak dapat menggunakan tipe data teks, gambar, dan ntext dalam HAVING klausa.
Examples
Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.
A. Mengambil total untuk setiap pesanan penjualan
Contoh berikut menggunakan klausul HAVING untuk mengambil total untuk masing-masing SalesOrderID dari SalesOrderDetail tabel yang melebihi $100000.00.
USE AdventureWorks2025;
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)
B. Mengambil total penjualan melebihi nilai tertentu
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;