Group By Kullanımı adından da anlaşılacağı üzere sorguda belirtilen kolonlar üzerinden bir gruplama işlemi yapar. Sorgunun gruplanan kolonlar üzerinden dönmesini sağlamaktadır. Detaylarını örnek üzerinden ilerleyerek anlayalım ve pekiştirelim;
Şimdi bir tablo create edelim ve bu tablo üzerinden ilerleyelim.

Şimdi Group by kullanmanın ilk şartı gruplanmak istenilen kolonların dışındaki kolonları sorgu sonucunda göremeyiz. Yani select ifadesinde kullandığımız tüm kolonları group by ifadesinde de kullanmak zorundayız.

Yukarıdaki örnekte sorgumuzu IDNUM kolonu üzerinden grupladık. Normalde 5 satırlık bir datamız vardı. IDNUM üzerinden gruplama işlemi yaptığımız için sorgu sonucunda aynı olan dataları bize döndürmez. Şimdi Group By ifadesini kaldırarak bir sorgu daha atalım;

Diğer bir kural ise; Group By ifadesi where koşulundan sonra yazılmalı order by ifadesinden önce kullanılmalıdır. Aksi durumda sorgunuzda hata alırsınız.
Özet olarak;
- Group By ifadesi bir tabloda, sadece istenilen kolonlar üzerinden işlem yapılmak istenildiği zaman kullanılır. Örnek olarak 5 kolonlu bir tabloda sizin ihtiyacınız olan 3 kolonlu bir tabloymuş gibi işlem yapmak ise bu durumda Group By ifadesini kullanmamız gerekir.
- Group By ifadesinde kullanmak istediğimiz tüm kolonları select ile from arasında yazmamız gerekir basit olarak bu şekilde ifade edelim.
- Group By where ifadesinden sonra yazılmalı ve order by ifadesinden önce kullanılması gerekmektedir.
Bir sorguda group by kullanımı varken aggregate function kullanılarak bu aggregate function u filtre olarak kullanmak istersek bu durumda Having ifadesini kullanmamız gerekmektedir. Bunu da detaylı olarak bir sonraki yazımda anlatacağım.
Umarım anlaşılmıştır, herkese iyi çalışmalar 🙂