Funkcje grup SQL

Spisie treści

Funkcje grupowe są wbudowane w funkcje SQL, które działają na grupach wierszy i zwracają wartość dla całej grupy. Te funkcje to: GRUPA, POSIADAJĄC, LICZBA, MAKS, MIN, ŚREDNIA, SUMA, RÓŻNE.
Klauzula GRUPUJ WEDŁUG używany w połączeniu z funkcjami grupowymi do pobierania danych pogrupowanych według jednej lub większej liczby kolumn.
Sumy częściowe można uzyskać za pomocą klauzuli GROUP BY. Zapytanie z klauzulą ​​GROUP BY jest nazywane zapytaniem grupowym, ponieważ grupuje dane w tabeli źródłowej i tworzy jeden wiersz podsumowania dla każdej utworzonej grupy. Kolumny wskazane w GROUP BY nazywane są kolumnami grupującymi.
Załóżmy tabelę sprzedaży z następującymi polami
Identyfikator | produkt | cena | ilość | sprzedawca id
Przykład:
WYBIERZ SUMĘ (cenę) jako całkowitą sprzedaż ze sprzedaży
Pobiera sumę całkowitej sprzedaży, która została dokonana, wartość jest przypisywana do całkowitej sprzedaży
WYBIERZ SUMA (sprzedaż) Z GRUPY sprzedaży WG id pracownik
Dla każdego pracownika tworzona jest grupa, a suma jest obliczana w wierszach każdej grupy. W poprzednim przykładzie otrzymujemy listę z sumą sprzedaży każdego z pracowników.
Zapytanie lepiej byłoby umieścić na liście wyboru nazwisko pracownika, aby wiedzieć, któremu pracownikowi odpowiada suma sprzedaży:
 SELECT pracownicy.nazwa, SUMA (cena) AS sprzedażwedług pracownika FROM sprzedaż, pracownicy Gdzie sales.idemployee = workers.idemployee GROUP BY ideemployee

Tylko:
wartości stałe
funkcje kolumn
grupowanie kolumn (kolumn, które pojawiają się w klauzuli GROUP BY)
lub dowolne wyrażenie oparte na powyższym.
Przykład: Chcemy, gdybyśmy mieli oddziały i chcielibyśmy uzyskać sumę sprzedaży pracowników pogrupowanych według regionu i miasta:
 WYBIERZ SUMA (cena) jako sprzedaż według oddziałów Z GRUPY sprzedaży WEDŁUG regionu, miasta

Jest pogrupowane najpierw według regionu, aw każdym regionie według miasta.
Wszystkie wiersze, które w polu grupowania mają wartość null, stają się pojedynczą grupą. Oznacza to, że traktuje wartość null jako dowolną wartość do celów grupowania.
Klauzula POSIADAJĄCY
Klauzula HAVING pozwala nam wybrać wiersze z tabeli wynikające z zapytania grupującego
W warunku wyboru mogą pojawić się tylko następujące elementy:
wartości stałe
funkcje kolumn
grupowanie kolumn (kolumn, które pojawiają się w klauzuli GROUP BY)
lub dowolne wyrażenie oparte na powyższym.
Przykład: Chcemy wiedzieć, którzy pracownicy sprzedali więcej niż 10 000 euro
 WYBIERZ * Z GRUPY SPRZEDAŻY WG PRACOWNIKA POSIADAJĄC ŚREDNIĄ (cenę)> 10000

Aby uzyskać to, o co jest proszone, musimy obliczyć średnią sprzedaż pracowników, pogrupować pracowników według id i obliczyć średnią dla każdej sprzedaży na pracownika, na koniec wybrać z wyniku wiersze, które mają średnią wyższą niż 10.000.
W jaki sposób zapytanie grupowe jest uruchamiane wewnętrznie?
Najpierw tworzona jest tabela źródeł danych zgodnie z klauzulą ​​FROM,
wiersze są wybierane ze źródła danych zgodnie z klauzulą ​​WHERE,
grupy wierszy tworzone są zgodnie z klauzulą ​​GROUP BY,
Dla każdej grupy w wynikowej tabeli uzyskuje się wiersz z wartościami, które pojawiają się w klauzulach GROUP BY, HAVING i na liście wyboru,
wiersze są wybierane z tabeli wynikowej zgodnie z klauzulą ​​HAVING,
kolumny, które nie pojawiają się na liście wyboru są usuwane z tabeli wynikowej,
wiersze tabeli wynikowej są uporządkowane zgodnie z klauzulą ​​***** BY
Zapytanie staje się zapytaniem grupowym, gdy tylko pojawi się funkcja GROUP BY, HAVING lub funkcja kolumnowa.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave