Tags

, , , , ,

Merhaba Arkadaşlar,Bu yazımızda Group By ifadesinden bahsedeceğiz.Group By ifadesini tablomuzdaki satırları küçük gruplara bölmek için kullanırız.Mesela Departmanlarımızın olduğu bir kolonu düşünelim, 4 farklı verimiz olsun,Group By Department dersek 4 farklı grup ekrana monitör edilir. Group By Sql Sorgusunda where şartından sonra kullanılır.Order By sıralamasından önce kullanılır.Genelde Grup fonksiyonlarıyla kullanılır,Grup fonksiyonları bir kolondaki verileri bir işleme sokarak bir değer döndürür.Grup By kullanırken şuna dikkat etmeliyiz;Sorgunun başında Select‘den sonra belirttiğimiz gruplanacak kolonlar mutlaka Group By ifadesiyle birlikte yer almalıdır.

Hemen bir örnek yapalım Employees tablomuzdaki departmen_id lerine ve job_idlerine göre gruplama yapalım.

select department_id, job_id from employees                         
Group By department_id, job_id  order by 1;
Group By 1

Group By 1

Yukarıdaki örneğimizde department_id ve job_id alanları Group_By ifadesi ile grouplara ayırdık.Order By ifadesini kullanarak department_id ye göre küçükten büyüğe sıraladık. Görüldüğü gibi ilk önce  sırayla department_id yi gruplamıştır ve o satırlarda bulunan job _id leride gruplanarak monitör edilmiştir.

Bir örnek daha yapalım. Bu örnekte yine yukardaki örnek gibi department _id ve job_id alanlarını gruplayalım ve Group fonksiyonlarından count ile gruplanmış verileri soy adına(last_name) göre sıralayalım.

select department_id,job_id,count(last_name) from employees 
group by department_id,job_id order by 1;
Group By 2

Group By 2

Yukarıdaki sorgu’da herhangi bir sıkıntı yoktur istediğimiz değerleri vermiştir fakat biz where şartı belirtirken Group By fonksiyonu kullanmak isteseydik bunu yapamayacaktık.Bu işlemleri Having ile yapacağız. Having anlatılan yazımıza bakabilirsiniz.