26.07.2017 Views

bilgeadam-c-kitabi

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

16 Modül 1: Programlamaya Giriş<br />

Group By<br />

Group By<br />

• Aynı verilerin gruplanmasıdır.<br />

• Hesaplama fonksiyonları ile kullanılır.<br />

• Hesaplama fonksiyonunda<br />

kullanılmayan alanlar gruplanmalıdır.<br />

SELECT k.Isim, k.KategoriId,<br />

SUM(u.BirimFiyat) AS [Toplam Fiyat],<br />

COUNT(UrunId) AS [Ürün Sayısı]<br />

FROM<br />

Urunler u INNER JOIN<br />

Kategoriler k ON u.KategoriId = k.KategoriId<br />

GROUP BY k.KategoriId, k.Isim<br />

Hesaplama fonksiyonlarının kullanıldığı sorgularda Select ifadesinden sonra<br />

sadece hesaplanan alan sonuç kümesine eklenmişti. Ancak çoğu zaman,<br />

hesaplanan bir alanlar ile birlikte diğer alanların da sonuç kümesinde olması<br />

istenir.<br />

Örneğin belli bir kategoride kaç tane ürünün bulunduğu, kategori numarası<br />

sonuç kümesinde olacak şekilde isteniyor. Bu durumda, ürünler tablosundaki<br />

kayıtların sayma işleminin gerçekleştirilmesi için önce kategori numarasına<br />

göre gruplanması gerekir.<br />

SELECT<br />

k.KategoriId,<br />

COUNT(UrunId) AS [Ürün Sayısı]<br />

FROM<br />

Urunler u INNER JOIN<br />

Kategoriler k ON u.KategoriId = k.KategoriId<br />

GROUP BY k.KategoriId<br />

Tablodan kategori numarası dışında başka herhangi bir alan daha isteniyorsa,<br />

bu alan Group By ifadesine ya da bir hesaplama fonksiyonunun içine<br />

alınmalıdır.<br />

SELECT<br />

k.Isim,<br />

k.KategoriId,<br />

Sum(u.BirimFiyat) AS [Toplam Fiyat],

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!