PENGELOMPOKAN (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Menunjukkan apakah ekspresi kolom tertentu dalam daftar GROUP BY dikumpulkan atau tidak. GROUPING mengembalikan 1 untuk agregat atau 0 untuk tidak dikumpulkan dalam tataan hasil. PENGELOMPOKAN hanya dapat digunakan dalam daftar pilih> SELECT<, HAVING, dan klausul ORDER BY saat GROUP BY ditentukan.
Sintaks
GROUPING ( <column_expression> )
Argumen
<column_expression>
Adalah kolom atau ekspresi yang berisi kolom dalam klausa GROUP BY .
Jenis Kembalian
kecil
Keterangan
PENGELOMPOKAN digunakan untuk membedakan nilai null yang dikembalikan oleh ROLLUP, CUBE, atau GROUPING SETS dari nilai null standar. NULL yang dikembalikan sebagai hasil dari operasi ROLLUP, CUBE, atau GROUPING SETS adalah penggunaan khusus NULL. Ini bertindak sebagai tempat penampung kolom dalam tataan hasil dan berarti semua.
Contoh
Contoh grup SalesQuota
dan jumlah agregat SaleYTD
berikut dalam database AdventureWorks2022. Fungsi GROUPING
diterapkan ke SalesQuota
kolom.
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
Kumpulan hasil menunjukkan dua nilai null di bawah SalesQuota
. Yang pertama NULL
mewakili grup nilai null dari kolom ini dalam tabel. Yang kedua NULL
ada di baris ringkasan yang ditambahkan oleh operasi ROLLUP. Baris ringkasan memperlihatkan TotalSalesYTD
jumlah untuk semua SalesQuota
grup dan ditunjukkan oleh 1
dalam Grouping
kolom.
Berikut set hasilnya.
SalesQuota TotalSalesYTD Grouping
------------ ----------------- --------
NULL 1533087.5999 0
250000.00 33461260.59 0
300000.00 9299677.9445 0
NULL 44294026.1344 1
(4 row(s) affected)