Sorgu Oluşturmak ve Çeşitlerini Kullanmak -2

Bir grup veri, belli bir özelliğe göre istatistiksel analiz için gruplandırılabilir. Bir veya birden fazla tablodan sorgulanan kayıtlar “Group By” deyimi kullanılarak gruplanabilmektedir.

“Group By” deyimi “Select ” yapısı içinde “Where” operatöründen sonra ve “Order By ” operatöründen önce gelmektedir.

Gruplama işlemi yapılırken görüntülenmek istenen alanlar, gruplama işlemine tabi tutulmalıdır. Yani “Group By” deyiminden sonra görüntülenmek istenen alanlar listelenmelidir.

Gruplanan veriler üzerinde grup fonksiyonları kullanılabilmektdir.

Grup fonksiyonu kullanılmadan gruplama yapıldığında kayıtlar benzersiz olarak listelenmektedir.

Gruplama yapılırken select listesi içinde yer alan tüm sütun adları, gruplamaya dâhil edilmelidir.

Gruplama fonksiyonları bir sütundaki verileri işleme tabi tutarak tek bir değer döndürmektedir.

Başlıca grup fonksiyonları: MAX, MIN, AVG, COUNT ve SUM.

Max fonksiyonu ilgili sütundaki en büyük değeri döndürür. Sayısal, metin ve tarih veri türlerindeki sütun adlarını parametre olarak almaktadır. Gruplama yapmadan da gruplama fonksiyonlarının kullanılabilmektedir ve sorgu sonucunda tek kayıt dönmektedir.

Min fonksiyonu ilgili sütundaki en küçük değeri döndürür. Sayısal, metin ve tarih veri türlerindeki sütun adlarını parametre olarak almaktadır. Yani sütundaki en küçük tarihi, sayıyı veya metni döndürmektedir.

Avg fonksiyonu ilgili sütun değerlerinin ortalamasını döndürür. Sayısal türde veriler için geçerlidir. Metin ve Tarihsel veri türleri için kullanımı hataya sebep olmaktadır.

Sum fonksiyonu ilgili sütun değerlerinin toplamını döndürür. Yani parametre olarak aldığı sütunda tutulan verilerin sayısal türde veriler olması gerekmektedir. “Avg” fonksiyonu gibi bu fonksiyon da metin ve tarihsel veri türündeki kolon adlarını, parametre olarak almamaktadır.

Count fonksiyonu herhangi bir sütunu parametre olarak aldığında, ilgili sütun değerlerinin "null" olmadığı kayıt sayısını döndürür.

Count(*) şeklindeki kullanım ile sorgu sonucu dönen kayıt sayısını verir.

Birden fazla sütuna göre gruplarken “ Group By” operatöründen sonra bu sütun adlarının yazılması gerekmektedir. Diğer taraftan gruplama yapılırken “Select ” ifadesi ile görüntülenen bütün sütun adları “Group By” deyimi ile birlikte yazılmalıdır.

Grup fonksiyonlarının döndürdüğü değerler ile ilgili koşul tanımlamak için "Having" deyimi kullanılmaktadır.

“Where” operatörüyle tanımlanan kısıtlar “Having ” operatörü içinde de de yer alabilirken “Having ” operatörü içinde tanımlanması gereken kısıtların “Where” operatörü ile kullanılması hataya sebep olmaktadır.

"Having" deyimi "Group By" deyiminden sonra ve "Order By" deyiminden önce yazılmalıdır.