8. Grupowanie GROUP BY 🎱 - ritaly/wprowadzenie-do-sql GitHub Wiki
Do tej pory zabrakło nam jeszcze jednej przydatnej rzeczy związanej z zarządzaniem tabelą pracowników - grupowania.
Co gdybyśmy chcieli policzyć:
- Ilu pracowników nosi takie samo nazwisko?
- Ilu pracowników nosi takie samo imię?
- Ilu pracowników ma taką samą pensję lub pensję w zadanym zakresie?
SELECT last_name, COUNT(*)
FROM employee
Zwróci błąd 🚨
Tutaj pojawia się nowe polecenie GROUP BY
, a proces wybierania grup danych na podstawie wspólnych cech to agregacja danych.
⚠️ Groupowanie zawsze odbywa się po filtrowaniu!
💡 Kolejność poleceń dla przypomnienia:
SELECT
, FROM
, WHERE
, GROUP BY
, ORDER BY
Naprawmy przykład powyżej:
SELECT last_name, COUNT(*)
FROM employee
GROUP BY last_name;
Zadania:
- Wybierz wszystkie produkty z tabeli
product
. Przyjrzyj się uważnie. Jaka kolumna nadaje się do grupowania? Pogrupuj produkty wg działów do jakich należą - tj. ile produktów znajduje się w każdym dziale. - Znajdź pracowników, którzy zarabiają między 60 a 90 tys. Posortuj ich zarobki malejąco. Pogrupuj ilu z nich zarabia tyle samo. Następnie zmień sortowanie tak, by sortowało po liczbie zliczonych pracowników.