SQL Server ile Gruplama Fonksiyonu Örnekleri

Daha önceki derslerimizde gruplandırma fonksiyonlarına giriş yapmıştık. MIN, MAX, SUM, AVG, COUNT, STDEV ve VAR isimli guruplandırma fonksiyonlarını örneklerle incelemiştik.  Aşağıdaki bağlantıdan gruplama fonksiyonlarına tekrar göz atabilirsiniz.

SQL Server Grup Fonksiyonları

Şimdi biraz daha gelişmiş örnekler yapacağız. Önce personeldb isimli bir veritabanı oluşturup, personel ve departman tablolarını tanımlayıp içlerini verilerle dolduralım. 

Personel Tablosu (tblpersonel isminde)




Departman Tablosu(tbldepartman isminde)



Soru: Her bir departmanda kaç personel çalışmaktadır?

SELECT d.DEPARTMAN, COUNT(p.departmanID)  
FROM tbldepartman d, tblpersonel p
WHERE d.departmanID=p.departmanID
GROUP BY DEPARTMAN 


 
Şimdi burada No Column name yani kolon adı yok yazan yere Kişi Sayısı yazmasını isteyelim bu iş için Alias tanımlaması yapıyoruz ve AS deyimini kullanıyoruz. Burada Kişi sayısı ifadesi birden fazla kelimeden oluştuğu için çift tırnak koymayı unutmuyoruz. 

SELECT d.DEPARTMAN, COUNT(p.departmanID) AS "Kişi Sayısı"  
FROM tbldepartman d, tblpersonel p
WHERE d.departmanID=p.departmanID
GROUP BY DEPARTMAN 

Peki şimdi de her bir departmanda yer alan kişi sayısı göz önüne alınarak sıralama yapmak istiyoruz. Sıralama yapmak için standart SQL'de ORDER BY deyimi kullanılır. Burada COUNT fonksiyonu sonucuna göre sıralama yapmak için aşağıdaki kodu kullanıyoruz.

SELECT d.DEPARTMAN, COUNT(p.departmanID) AS "Kişi Sayısı" 
FROM tbldepartman d, tblpersonel p
WHERE d.departmanID=p.departmanID
GROUP BY DEPARTMAN ORDER BY COUNT(p.departmanID) ASC




SQL Server konusu ile ilgili aşağıdaki yazılar da ilginizi çekebilir.

MySQL'de Veritabanı ve Tablo Oluşturma
MySQL Veritabanında Parametreli Stored Procedure oluşturma
MySQL Veritabanında Parametresiz Stored Procedure Oluşturma
Mutlu kodlamalar,
Oğuzhan TAŞ
Ekim, 2018
 

Bookmark and Share