SQL – SELECT GROUP BY – HAVING

1.089 kez okundu

Merhaba arkadaşlar, SQL’ de SELECT sorgusunda GROUP BY – HAVING kullanımı ile ilgili basit örnekleri aşağıda inceleyebilirsiniz.

GROUP BY – HAVING

— Tablodaki bilgileri bir kategoriye göre gruplanmak istenilir ise kullanır.
— Örn: Araçları markalarına göre gruplayıp hangi markadan kaç adet araç listelemek
— Bir sorguda eğer “…’ya göre” gibi ifade geçiyor gruplama olması muhtemeldir.
— GROUP BY yanına yazdığımız kolonlar select ifadesinde de yer alması gerekir.
/*
Öğrenci (Id,Adı,Soyadı,Sınıf,Bölümü)
Bölüm (Id,Adı)
*/
— Bölümlere göre öğrenci sayısını listeleyin
SELECT b.Adi, COUNT(*) as [Öğrenci Sayısı]
FROM Bolum as b
inner join Ogrenci as o
              On b.Id = o.Bolum_Id
GROUP BY b.Adi
— 4. sınıfta okuyan öğrencilerinden bölümlerine göre öğrenci sayısını listeleyin
SELECT b.Adi, COUNT(*) as [Öğrenci Sayısı]
FROM Bolum as b
inner join Ogrenci as o
              On b.Id = o.Bolum_Id
WHERE o.Sinif = 4
GROUP BY b.Adi

/* 3. ve 4. sınıfta okuyan öğrenciler için gezi yapılacaktır. Ancak bölümdeki mevcut 30’dan daha az ise o bölümdeki öğrenciler geziye katılmayacaktır. Bu kıstaslar dikkate alınarak geziye kalılabilen bölümlerdeki öğrenci sayısını listeleyin. */
SELECT b.Adi, COUNT(*) as [Öğrenci Sayısı]
FROM Bolum as b
inner join Ogrenci as o
              On b.Id = o.Bolum_Id
WHERE o.Sinif in (3,4) — veya (o.Sinif = 3 OR o.Sinif = 4)
GROUP BY b.Adi
HAVING COUNT(*) >= 30 — mevcut 30’dan fazla ise geziye katılacak

 

Soru ve önerilerinizi yorum olarak ya da e-mail göndererek iletebilirsiniz, teşekkürler.

Bunlar da hoşunuza gidebilir...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.

Tipobe365 Giriş