SQL Server WITH ROLLUP Kullanımı
Herkese merhaba,
Bu bölümde sizlere WITH ROLLUP kullanımından bahsedeceğim.
WITH ROLLUP komutu istatistiksel sonuçlar çıkartılmasında işe yarayan bir deyimdir. Gruplanmış sütunların hiyerarşisine göre özet satır oluşturma işlemi yapar. Group By deyiminde kullanılmış sütun sayısı kadar gruplama gerçekleştirir. Group By deyiminde verilmiş kolonları sağdan sola doğru gruplar ve her grubun altına özet satır oluşturur. Örnek kullanımı aşağıdaki gibidir.
CREATE TABLE Calisanlar( BolumNumarasi CHAR(1), BolumAdi NVARCHAR(100), KisiAdedi INT ) --A Bölümü için kodlar INSERT INTO dbo.Calisanlar ( BolumNumarasi , BolumAdi , KisiAdedi ) VALUES ( 'A' , -- BolumNumarasi - char(1) N'Hizmet' , -- BolumAdi - nvarchar(100) 2 -- KisiAdedi - int ) INSERT INTO dbo.Calisanlar ( BolumNumarasi , BolumAdi , KisiAdedi ) VALUES ( 'A' , -- BolumNumarasi - char(1) N'Bilgisayar' , -- BolumAdi - nvarchar(100) 1 -- KisiAdedi - int ) INSERT INTO dbo.Calisanlar ( BolumNumarasi , BolumAdi , KisiAdedi ) VALUES ( 'A' , -- BolumNumarasi - char(1) N'Muhasebe' , -- BolumAdi - nvarchar(100) 1 -- KisiAdedi - int ) --B BÖlümü için kodlar INSERT INTO dbo.Calisanlar ( BolumNumarasi , BolumAdi , KisiAdedi ) VALUES ( 'B' , -- BolumNumarasi - char(1) N'Hizmet' , -- BolumAdi - nvarchar(100) 4 -- KisiAdedi - int ) INSERT INTO dbo.Calisanlar ( BolumNumarasi , BolumAdi , KisiAdedi ) VALUES ( 'B' , -- BolumNumarasi - char(1) N'Bilgisayar' , -- BolumAdi - nvarchar(100) 3 -- KisiAdedi - int ) INSERT INTO dbo.Calisanlar ( BolumNumarasi , BolumAdi , KisiAdedi ) VALUES ( 'B' , -- BolumNumarasi - char(1) N'Muhasebe' , -- BolumAdi - nvarchar(100) 6 -- KisiAdedi - int ) --1. Örnek SELECT BolumNumarasi , SUM(KisiAdedi) AS Toplam FROM dbo.Calisanlar GROUP BY BolumNumarasi WITH ROLLUP --2. Örnek SELECT BolumNumarasi , BolumAdi , SUM(KisiAdedi) AS Toplam FROM dbo.Calisanlar GROUP BY BolumNumarasi , BolumAdi WITH ROLLUP
Özetlenmiş verileri 1. örnekte sadece bölüm numarasına göre getirirken, ikincisinde hem bölüm adı hem de bölüm numarasına göre getirmiştir.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.