MSSQL Dersleri #07: Gruplama ve İleri Düzey Özetleme

Gruplama ve İleri Düzey Özetleme: GROUP BY, HAVING, GROUPING SETS, ROLLUP

SQL Server’da gruplama, verileri belirli kriterlere göre toplamak ve özetlemek için kullanılan önemli bir mekanizmadır. Bu makalede, GROUP BY, HAVING, GROUPING SETS, ve ROLLUP ifadelerini inceleyeceğiz. Bu ifadeler, veri analizi ve raporlama için çok güçlü araçlardır.

GROUP BY

GROUP BY ifadesi, verileri belirli bir kriterlere göre gruplar. Her grup için belirli bir özetleme işlemi (örneğin, SUM, AVG, COUNT) uygulanır.

-- T-SQL Kodları
SELECT Department, COUNT(*) AS EmployeeCount
FROM Employees
GROUP BY Department;Code language: SQL (Structured Query Language) (sql)

Yukarıdaki kod, her departman için çalışan sayısını hesaplar.

HAVING

HAVING ifadesi, gruplamadan sonra filtreleme yapmak için kullanılır. WHERE ifadesi gibi çalışır, ancak grup düzeyinde filtreleme yapar.

-- T-SQL Kodları
SELECT Department, COUNT(*) AS EmployeeCount
FROM Employees
GROUP BY Department
HAVING COUNT(*) > 10;Code language: SQL (Structured Query Language) (sql)

Yukarıdaki kod, çalışan sayısı 10’dan fazla olan departmanları listeler.

GROUPING SETS

GROUPING SETS ifadesi, birden fazla gruplama kümesi için sonuçları birleştirir. Bu, karmaşık gruplamaları daha kolay hale getirir.

-- T-SQL Kodları
SELECT Department, Region, COUNT(*) AS EmployeeCount
FROM Employees
GROUP BY GROUPING SETS (
    (Department, Region),
    (Department),
    (Region),
    ()
);Code language: SQL (Structured Query Language) (sql)

Yukarıdaki kod, departman, bölge, her ikisi de ve hiçbiri olmayan gruplamalar için sonuçları birleştirir.

ROLLUP

ROLLUP ifadesi, gruplamaları hiyerarşik olarak genişletir. Bu, üst düzey gruplamalar için toplam sonuçları da döndürür.

-- T-SQL Kodları
SELECT Department, Region, COUNT(*) AS EmployeeCount
FROM Employees
GROUP BY ROLLUP (Department, Region);Code language: SQL (Structured Query Language) (sql)

Yukarıdaki kod, departman ve bölge gruplamaları için sonuçları döndürür, ayrıca her bir departman için toplam sonuçları da döndürür.

💡 Kıdemli DBA Triki: GROUPING SETS ve ROLLUP ifadeleri, karmaşık gruplamaları daha kolay hale getirir. Ancak, çok fazla gruplama kümesi kullanıldığında performans etkilerine dikkat etmek gerekir.

Özet

SQL Server’da gruplama ve özetleme, veri analizi ve raporlama için çok güçlü araçlardır. GROUP BY, HAVING, GROUPING SETS, ve ROLLUP ifadelerini kullanarak karmaşık sorgular oluşturabilirsiniz. Bu ifadelerin doğru ve etkili bir şekilde kullanılması, veri analizinin kalitesini ve performansını artırabilir.

NasuhAkay
NasuhAkay

Nasuh Akay, 20 yılı aşkın IT deneyimine sahip; kurumsal teknoloji çözümleri, ERP sistemleri, yazılım geliştirme, veri yönetimi ve dijital dönüşüm alanlarında çalışmalar yürüten bir teknoloji profesyonelidir.

Kariyeri boyunca farklı sektörlerde edindiği deneyimlerini; teknoloji, yazılım, veri mimarisi ve iş süreçlerinin geliştirilmesi üzerine yoğunlaştırmıştır.

Bu blogda ERP çözümleri, SQL Server, yazılım geliştirme, yapay zekâ, dijital dönüşüm ve teknoloji dünyasındaki gelişmeler üzerine bilgi, deneyim ve teknik paylaşımlarını okuyucularla buluşturmaktadır.

Amacı, karmaşık teknik konuları anlaşılır bir dille ele almak, gerçek hayatta karşılaşılan problemlere yönelik uygulanabilir çözümler sunmak ve teknoloji alanındaki bilgi birikimini paylaşmaktır.

Articles: 1071

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir