Çalışanların aylık maaşlarına sahip bir listesinin (tablo) bulunduğu bir örnek gördüm. Maaşların bir miktarını yaptım ve ouptput'ta tam olarak aynı tabloyu gördüm! Bu garipti.Neden AGGREGATE FONKSİYONLARI ile GROUP BY'ye ihtiyacımız var?
Burada yapılması gerekenler var; bu ay, çalışan maaşları olarak ne kadar para ödediğimizi bulmak zorundayız. Ben yukarıdaki kodda tarafından grubunu kullanmak istemiyorsanız bir hata alıyorum biliyorum
SELECT EmployeeID, SUM (MonthlySalary)
FROM Employee
GROUP BY EmpID
- Bunun için, gösterildiği gibi veri tabanı içerisindeki maaş miktarlarını özetlemek gerekir. Bu anlamadım -
Çalışan tablosundan çalışanı seçiyoruz. SUM() çalışanın tablosundan MonthlySalary sütununu eklemesi gerektiği söylenir. Bu yüzden, doğrudan gruplandırılmalı ve onları gruplamak yerine ve daha sonra bunları eklemek yerine bu sayıları eklemelidir.
Bir insan bunu nasıl yapar? - çalışan masasına bakın ve tüm sayıları ekleyin. Neden onları gruplandırmak ve sonra onları eklemek için sorun çıkardı? Eğer BY Bir GRUP olmazdı tüm sayıları toplamak istiyorsa
Tüm sütunu gruplandırmadan toplamak istiyorsanız, SQL grubu tarafından kullanmayın. SQL grubu, bir kişinin ne yapacağını yapmıyor. SQL'de, gruplara bir şey yapmıyorsanız gruplama bir anlam ifade etmez. –
@EricLeschinski - hangi gruplar? –
Çalışanlar tablosundan EmpID grupları. Bunun yerine bir kişinin ne göre ne yaptığını grup tarafından karşılaştırmak için çalışmakla yerine sormaktadır: bizim istediğimiz ile bunu nasıl hizalandıraca- çalışması ile SQL grup yapar ve: http://stackoverflow.com/questions/7434657/how satır sıralama bağlamında yapılan bir şey olarak "gruplaşma" nin SQL düşünmek öğrenme –