logo
Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
mehmetzekikir  
#1 Gönderildi : 7 Mayıs 2014 Çarşamba 16:55:46(UTC)
mehmetzekikir

Sıralama: Administration

Gruplar: Administrators
Katılan: 6.05.2014(UTC)
Mesajlar: 672

19 Kere Teşekkür Etti.
152 Mesajına Toplam 253 Kere Teşekkür Edildi.
TSQL Group By Kullanımı Group by operatörü benim gözümde Sql'in yaramaz hiperaktif çocuğudur. Çünkü Group by bize herzaman birşeyler yapmaya zorlar. Group by ne işe yarar ? Adından da anlaşılacağı gibi bize gruplayarak sonuç döndürmeye yarar. Örneğin DimEmployee tablosundaki her bir Title ait kaç kişi olduğunu bulalım [code=sql]SELECT Title, Count(*) FROM DimEmployee Msg 8120, Level 16, State 1, Line 1 Column 'DimEmployee.Title' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. [/code] Sorguyu çalıştırdığımızda yukarıdaki hatayı alıyoruz. Şimdi çalıştırdığımız sorguyu biraz inceleyelim. Sorgumuzda title seçtik ve de Toplam kayıt sayısını aldık. Bizim bu hatadan anlamamız gereken 'Title a göre Toplam sayıyı almak istiyorsun ama beni Title göre gruoplamadan bu sayıyı alamazsın'dır. O yüzden sorgumuzu biraz değiştirelim [code=sql]SELECT Title, Count(*) AS CalisanSayisi FROM DimEmployee GROUP BY Title [/code] [img]http://dbakademi.com/img/grSekil1.png[/img] Mesela FactInternetSales tablosundaki hangi ürünün en son hangi tarihte satıldığına bakalım [code=sql] SELECT ProductKey,MAX(OrderDate) AS SatisTarihi FROM FactInternetSales GROUP BY ProductKey [/code] [img]http://dbakademi.com/img/grSekil2.png[/img] Peki hangi üründen kaç adet satıldığını görmek istersem nasıl bir sorgu yazmalıyım [code=sql]SELECT ProductKey,Count(*) AS SatisToplami FROM FactInternetSales GROUP BY ProductKey [/code] [img]http://dbakademi.com/img/grSekil3.png[/img] Peki hangi üründen hangi tarihte ne kadar satış yaptığımızı bulmak istersek nasıl bir sorgu yazmalıyız. [code=sql]SELECT ProductKey,OrderDate,SUM(SalesAmount) AS SatisToplami FROM FactInternetSales GROUP BY ProductKey,OrderDate [/code] [img]http://dbakademi.com/img/grSekil4.png[/img]
Yeniden geri döndük
2025


Bu konudaki kullanıcılar
Guest (3)
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.