İçindekiler
Grup işlevleri, satır grupları üzerinde çalışan ve tüm grup için bir değer döndüren SQL işlevlerinde yerleşiktir. Bu işlevler şunlardır: GRUP, HAVING, COUNT, MAX, MIN, AVG, SUM, DISTINCT.cümle GRUP TARAFINDAN bir veya daha fazla sütuna göre gruplandırılmış verileri almak için grup işlevleriyle birlikte kullanılır.
GROUP BY deyimi ile ara toplamlar elde edilebilir. GROUP BY yan tümcesine sahip bir sorgu, kaynak tablodaki verileri gruplandırdığı ve oluşturulan her grup için tek bir özet satırı ürettiği için gruplandırılmış sorgu olarak adlandırılır. GROUP BY içinde belirtilen sütunlara gruplama sütunları denir.
Aşağıdaki alanları içeren bir satış tablosu varsayalım
Kimlik | ürün | fiyat | miktar | kimlik satıcısı
Örnek:
Satışlardan toplam satış olarak SUM (fiyat) SEÇ
Yapılan toplam satışların toplamını alır, değer toplam satışlara atanır
id çalışanına göre satış grubundan toplam (satış) SEÇHer çalışan için bir grup oluşturulur ve her grubun satırları üzerinden toplamı hesaplanır. Önceki örnek, çalışanların her birinin satışlarının toplamını içeren bir liste alır.
Sorgu, satış toplamının hangi çalışana karşılık geldiğini bilmek için seçim listesine çalışanın adını dahil etmek daha iyi olurdu:
çalışanlar.name, SUM (fiyat) SEÇİN çalışan tarafından satışlardan satışlardan, çalışanlar Burada sales.idemployee = çalışanlar.idemployee ideçalışana GÖRE GRUP
Sadece:
sabit değerler
sütun işlevleri
gruplama sütunları (GROUP BY yan tümcesinde görünen sütunlar)
veya yukarıdakilere dayalı herhangi bir ifade.
Örnek: Şubelerimiz olsaydı ve bölge ve illere göre gruplandırılmış çalışanların satışlarının toplamını elde etmek isterdik:
BÖLGEYE GÖRE GRUPTAN şubeye göre satış olarak SUM (fiyat) SEÇİN
İlk önce bölgeye göre ve her bölge içinde şehre göre gruplandırılmıştır.
Gruplandırma alanında boş değere sahip tüm satırlar tek bir grup haline gelir. Yani, gruplama amaçları için boş değeri herhangi bir değer olarak ele alır.
HAVING yan tümcesi
HAVING yan tümcesi, bir gruplama sorgusundan kaynaklanan tablodan satırları seçmemize izin verir.
Seçim koşulunda yalnızca aşağıdakiler görünebilir:
sabit değerler
sütun işlevleri
gruplama sütunları (GROUP BY yan tümcesinde görünen sütunlar)
veya yukarıdakilere dayalı herhangi bir ifade.
Örnek: Hangi çalışanların 10.000 Euro'dan fazla sattığını bilmek istiyoruz
SEÇİN * ORTALAMA (fiyat) OLAN idepersoneye GÖRE satış GRUBU'ndan> 10000
İsteneni elde etmek için çalışanların ortalama satışlarını hesaplamalıyız Çalışanları id'ye göre gruplayıp her bir çalışan başına satışın ortalamasını hesaplayıp sonuçtan ortalama yüksek olan satırları sonuçtan seçmeliyiz. 10.000'den fazla.
Grup sorgusu dahili olarak nasıl çalıştırılır?
İlk önce FROM yan tümcesine göre veri kaynağı tablosu oluşturulur,
satırlar, WHERE yan tümcesine göre veri kaynağından seçilir,
satır grupları GROUP BY deyimine göre oluşturulur,
Her grup için, sonuç tablosunda GROUP BY, HAVING deyimlerinde ve seçim listesinde görünen değerlerle bir satır elde edilir,
satırlar HAVING yan tümcesine göre sonuç tablosundan seçilir,
seçim listesinde görünmeyen sütunlar sonuç tablosundan kaldırılır,
sonuç tablosunun satırları ***** BY yan tümcesine göre sıralanmıştır
Bir sorgu, GROUP BY, HAVING veya bir sütun işlevi göründüğünde bir grup sorgusu haline gelir.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.