SQL Server Group By nedir?

Katılım
11 Eylül 2020
Mesajlar
1.857
Çözümler
6
Yer
Almanya
Daha fazla  
Cinsiyet
Erkek
Meslek
König
Merhaba. MSSQL de Group By komutunun çalışma yapısını pek anlamadım. Öncelikle aklıma takılan birinci soru neden bu sorgu hata veriyor.
SQL:
Select İD,Count(*) from Person.Person
Bu sorgunun bize Person.Person tablosundaki İD değerlerini ve Person.Person daki toplam sıra sayısını dönmesi gerekmezmiydi? İkinci sorum Group by grupladığı tüm verileri ayrı ayrımı hesaplıyor? Yani Count(*) komutu gruplanmış öğelerin hepsi için ayrı ayrımı çalışıyor? Üçüncü sorum birden fazla öğeyi gruplayınca ne oluyor?
Beni aydınlatabilirseniz sevinirim.
 
Merhaba, yazdığınız bu sorguda group by yok. MSSQL e çok hakim değilim ama gruplanmamış bir şeyin count değerinin dönmesi saçma olur.

id | name
1 | mehmet
2 | ahmet
...

şeklinde bir tablo var diyelim, count çekerek toplam row sayısını alabilirsiniz. Mesela isme göre group yaparsanız sql her bir grup için count hesaplaması yapar, yani select name, count(*) formatında bir sorgu ile mesela,
mehmet 10
ahmet 15
cavit 3
...

formatında isme göre gruplanmış bilgi edinebilirsiniz. Çoklu gruplama da benzer şeklilde çalışır, mesela name ve surname diye iki kolon olsun, ikili gruplama yaptığınız bir senaryoda
name | surname | count
mehmet | demir | 2
mehmet | çelik | 3
mehmet | yılmaz | 5

gibi isim soyisim kombinasyonlarının count değerini çekebilirsiniz.

Group için gruplanacak kolon her ne ise onu seçmeniz gerekir. Yani isme göre gruplama yapıyorsanız name kolonunu çekebilirsiniz, id kolonu ise group senaryosunun dışındadır,

mehmet 5

size dönen bu satırda 5 tane mehmetin idlerini neden ve nereye yazdırasınız ki.
 

Technopat Haberler

Yeni konular

Geri
Yukarı