Toplu işlevler

Mevcut

6.1 Toplu işlevlerin listesi

SQL'de satır gruplandırmayı operatörle kullandığınızda , ifadede gruplanmış veriler üzerinde çalışan işlevleri GROUP BYkullanabilirsiniz . SELECTBu tür işlevlere toplama işlevleri de denir.

İşte en popüler olanların bir listesi:

# İşlev Tanım
1 SAYMAK() Bir gruptaki değerlerin sayısını döndürür
2 TOPLA() Bir gruptaki değerlerin toplamını verir
3 MAKS() Bir grubun maksimum değerini döndürür
4 DAK() Bir grubun minimum değerini döndürür
5 ortalama() Bir grubun ortalamasını verir
6 BIT_AND() Tüm grup değerleri üzerinde bit düzeyinde AND gerçekleştirir
7 BIT_OR() Tüm grup değerleri üzerinde bit düzeyinde OR gerçekleştirir
8 BIT_XOR() Tüm grup değerleri üzerinde bit düzeyinde bir XOR gerçekleştirir
9 GROUP_CONCAT() Tüm grup değerlerini tek bir dizede birleştirir
Bu, toplu işlevlerin tam bir listesi değildir, ancak geri kalanı çok spesifiktir ve bunları önümüzdeki 5 yıl içinde kullanacağınızı düşünmüyorum.Hala onlara ihtiyacınız varsa, her zaman DBMS'nizin resmi belgelerini okuyabilirsiniz.

Şimdi toplama işlevlerimizle bazı örneklere bakalım.

6.2 Çalışan maaşlarını analiz etme

Çalışan tablosundan çalışanlarımız hakkında bazı istatistikler hesaplayalım .

Birinci soru: kaç çalışanımız var?

Tablodaki tüm kayıtların sayısını bulmak istiyorsak, bunun için toplama işlevini kullanabiliriz COUNT. İstek şöyle görünecektir:

SELECT COUNT(*) FROM employee

Ve MySQL yanıt olarak 6 sayısını döndürecek Departmanda bir kedi dahil 6 çalışanımız var. Elbette.

İkinci soru: Tüm çalışanlara ayda ne kadar ödüyoruz?

Bu soruyu cevaplamak için tüm çalışanların maaşlarını toplamamız gerekiyor. Bunu yapmak için toplama işlevini kullanırız.SUM()

İstek şöyle görünecektir:

SELECT SUM(salary) FROM employee

Dikkat edin bu sefer hangi kolona ait değerleri özetlediğimizi belirtmemiz gerekiyor. Bir maaş sütunu belirledik . Bir tablodaki tüm alanları toplayamayız.

Ve MySQL cevap olarak 461000 sayısını döndürecek Departmanda 6 çalışanımız var ve maaş 461 bin. Çok fazla.

Ve son olarak üçüncü soru: departmandaki maksimum ve minimum maaşlarımız ne kadar? Peki, ortalama maaşı hesaplayalım. MINBunu yapmak için , MAXve işlevlerine ihtiyacımız var AVG.

Sorgu bu sefer biraz daha karmaşık olacak ve şöyle görünecek:

SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee

Bu sorgunun sonucu şöyle olacaktır:

DK(maaş) Ortalama(maaş) MAKS(maaş)
1000 76833.3333 200000

Bölümümüzde asgari ücret 1.000 dolar – çok iyi. Maksimum maaş 200 bin ama bu müdür.

Ancak ortalama maaş çok yüksek, bir şekilde maliyetleri optimize etmeniz gerekiyor. Başka bir kedi kiralayalım ve o kadar :)

Yorumlar
  • Popüler
  • Yeni
  • Eskimiş
Yorum bırakmak için giriş yapmalısınız
Bu sayfada henüz yorum yok