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.
Menentukan kondisi pencarian untuk grup atau agregat.
Sintaksis
[ HAVING search_condition ]
Argumen
search_condition
Menentukan kondisi pencarian untuk grup atau agregat yang akan dipenuhi. Ketika HAVING digunakan dengan GROUP BY ALL, klausul HAVING mengambil alih SEMUA.
Komentar
Klausa HAVING digunakan untuk menentukan kondisi pemfilteran tambahan pada hasil pengelompokan. Jika tidak ada klausa GROUP BY yang ditentukan dalam ekspresi kueri, grup set tunggal implisit diasumsikan.
Nota
HAVING hanya dapat digunakan dengan pernyataan SELECT . Ketika GROUP BY tidak digunakan, HAVING berulah seperti klausa WHERE.
Klausa HAVING berfungsi seperti klausul WHERE kecuali bahwa klausul tersebut diterapkan setelah operasi GROUP BY. Ini berarti bahwa klausul HAVING hanya dapat membuat referensi ke alias pengelompokan dan agregat, seperti yang diilustrasikan dalam contoh berikut:
SELECT Name, SUM(o.Price * o.Quantity) AS Total FROM orderLines AS o GROUP BY o.Product AS Name
HAVING SUM(o.Quantity) > 1
Sebelumnya membatasi grup hanya untuk grup yang menyertakan lebih dari satu produk.
Contoh
Kueri SQL Entitas berikut menggunakan operator HAVING dan GROUP BY untuk menentukan kondisi pencarian untuk grup atau agregat. Kueri didasarkan pada Model Penjualan AdventureWorks. Untuk mengkompilasi dan menjalankan kueri ini, ikuti langkah-langkah berikut:
Ikuti prosedur dalam Cara: Menjalankan Kueri yang Mengembalikan Hasil PrimitiveType.
Teruskan kueri berikut sebagai argumen ke
ExecutePrimitiveTypeQuerymetode :
SELECT VALUE name FROM AdventureWorksEntities.Products
AS P GROUP BY P.Name HAVING MAX(P.ListPrice) > @price