Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanSevin Togay Değiştirilmiş 9 yıl önce
2
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name aggregate : birleştirme fonksiyonları. ( sum, count, max, min, avg )
3
O_IdOrderDateOrderPriceCustomer 12008/11/121000Hansen 22008/10/231600Nilsen 32008/09/02700Hansen 52008/08/302000Jensen 62008/10/04100Nilsen SELECT Customer, OrderDate, SUM(OrderPrice) FROM Orders GROUP BY Customer, OrderDate CustomerSUM(OrderPrice) Hansen2000 Nilsen1700 Jensen2000
4
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, AVG(maaş) FROM kisiler GROUP BY ülke ülkeAVG(maaş) Almanya4000.0000 Fransa3700.0000 Türkiye2414.2857 USA3500.0000
5
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, COUNT(*) AS sayı FROM kisiler GROUP BY ülke ülkesayı Almanya1 Fransa1 Türkiye7 USA2
6
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT cinsiyet, AVG(maaş) AS sayı FROM kisiler GROUP BY cinsiyet cinsiyetsayı 02880.0000 12866.6667
7
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, şehir FROM kisiler GROUP BY ülke, şehir ülkeşehir AlmanyaBerlin FransaParis TürkiyeAdana TürkiyeAnkara TürkiyeBolu TürkiyeHatay Türkiyeİstanbul USANew York
8
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, şehir, COUNT(*) FROM kisiler GROUP BY ülke, şehir ülkeşehirCOUNT(*) AlmanyaBerlin1 FransaParis1 TürkiyeAdana2 TürkiyeAnkara2 TürkiyeBolu1 TürkiyeHatay1 Türkiyeİstanbul1
9
GroupBy ifadesi where ifadesi ile birlikte kullanıldığında where groupby’dan önce kullanılır.
10
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, cinsiyet, AVG(yas), COUNT(*) FROM kisiler GROUP BY ülke, cinsiyet ülkecinsiyetAVG(yas)COUNT(*) Almanya130.00001 Fransa135.00001 Türkiye029.75004 Türkiye122.66673 USA040.00001 USA145.00001
11
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, cinsiyet, AVG(yas), COUNT(*) FROM kisiler WHERE maaş > 2000 GROUP BY ülke, cinsiyet SELECT ülke, cinsiyet, AVG(yas), COUNT(*) FROM kisiler WHERE maaş > 2000 GROUP BY ülke, cinsiyet ülkecinsiyetAVG(yas)COUNT(*) Almanya130.00001 Fransa135.00001 Türkiye028.00004 Türkiye122.66673 USA040.00001 USA145.00001
12
Having deyimi groupby ifadesi ile birlikte kullanılır. Groupby ifadesinden sonra kullanılır.
13
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, AVG(maaş) FROM kisiler GROUP BY ülke HAVING AVG(yas) > 30 ülkeAVG(maaş) Fransa3700.0000 USA3500.0000
14
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT şehir, COUNT(*) FROM kisiler GROUP BY şehir HAVING COUNT(*) > 1 sehirCount(*) Adana2 Ankara2 New York2
15
idAdSoyadYasCinsiyetŞehirÜlkeMaaş 2AhmetYılmaz201AnkaraTürkiye2000 3MehmetEfe221BoluTürkiye2000 4AyşeCan230İstanbulTürkiye3500 5FatmaAk350AnkaraTürkiye3200 6JohnSmith451New YorkUSA3500 7EllenSmith400New YorkUSA3500 8HansMüller301BerlinAlmanya4000 9FrankCesanne351ParisFransa3700 10AbbasDemir261AdanaTürkiye2000 11HaticeTopçu260HatayTürkiye2200 12GülsümDemir350AdanaTürkiye2000 SELECT ülke, AVG(maaş) FROM kisiler WHERE Cinsiyet=1 GROUP BY ülke HAVING COUNT(*) > 1 ülkeAVG(maaş) Türkiye2000.0000
16
Where ifadesi her zaman groupby’dan önce gelir. Having ifadesi ise groupby’dan sonra gelir.
17
CUBE DEYİMİ Basit bir ifadeyle gruplama işlemini bir küpe dönüştürür. Küp, veri analizi ile ilgili bir terim olup, GROUP BY ifadesi ile gruplara ayrılan veriler üstünde olası bütün ilişkileri göstermek üzere alternatif sonuçlar elde edilmesini sağlar.
18
Ancak CUBE deyiminin bütün işlevi bu kadar basit değildir. Birden fazla sütuna ait gruplama yapılırsa bu sütunlar arasında çapraz istatistikler de sunabilir.
19
Cube deyimi gibi alt toplam ve toplam değerlerinin elde etmek için kullanılır. GROUP BY dan sonra birden fazla sütun yer alıyorsa, CUBE deyimine göre daha az sayıda satır döndürür çünkü,
20
CUBE deyimi GROUP BY deyiminden sonra birden fazla sütun adı varsa, bu sütun adlarının her birine ait toplamlarla birlikte, kombinasyonlarının da toplamını bulur. ROLLUP deyimi, sadece içten dışa doğru sütunlara ait toplamları bularak ilerler.
21
Gruplamalı bir fonksiyondur.Bir satır ROLLUP veya CUBE deyimi tarafından türetilmiş ise 1, türetilmemiş ise 0 değeri döndürür.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.