Funkcje agregujące pozwalają na zliczenie danych z wielu wierszy i pokazanie wyniku opisując je w prosty sposób. W tym wpisie przedstawię opis 5 funkcji, które przydadzą się w kolejnych lekcjach.
AVG
Pierwszą funkcję jest AVG czyli wyciągniecie średniej wartości z wybranego zakresu wierszy.
Załóżmy, że chcesz wyświetlić średnią cenę filmu, który posiadamy w wypożyczalni.
1 2 |
SELECT AVG( replacement_cost ) AS avg_replacement_cost FROM film; |
Jednak jak widzisz wynik jest delikatnie mówiąc niezadowalający, jednak możesz wykorzystać funkcję ROUND, aby zaokrąglić wynik do 2 miejsc po przecinku. Poniższy wynik jest już bardziej przyjazny.
1 |
SELECT ROUND( AVG( replacement_cost ), 2 ) avg_replacement_cost FROM film; |
COUNT
Kolejną funkcją jest COUNT, która pozwoli na zliczenie wystąpień danych w konkretnej kolumny.
Załóżmy, że potrzebujesz policzyć ilość filmów, które znajdują się w Twojej bazie.
1 2 |
SELECT COUNT(*) FROM film; |
MIN / MAX
Funkcje MIN / MAX stosuje się wymiennie, więc opiszę je w tym samym miejscu. Oczywiście wskazują odpowiednio najmniejsze oraz największe wartości dla przedziału znajdującego się w kolumnie konkretnej tabeli.
Dla przykładu wyświetl najniższą oraz najwyższą cenę filmu, który klient może wypożyczyć.
1 2 |
SELECT MIN(replacement_cost) FROM film; |
1 2 |
SELECT MAX(replacement_cost) FROM film; |
SUM
Na koniec sumowanie danych przy pomocy SUM. Załóżmy, że potrzebujesz pogrupować długość wypożyczeń filmów w konkretnych ocenach.
Rozszerzę nieco zapytanie o koniecznie grupowanie (tak aby każda grupa miała sumę długości wypożyczenia) oraz sortowanie rosnące po nazwie grupy.
1 2 3 4 5 6 |
SELECT rating, SUM( rental_duration ) FROM film GROUP BY rating ORDER BY rating; |
W wyniku zapytania zostaną wyświetlone grupy filmów z długością wypożyczenia.
To tyle zapraszam na kolejny wpis, w którym przedstawię Group by.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).