Home > Fragmenty szkoleń > Funkcje agregujące w PostgreSQL

Funkcje agregujące w PostgreSQL

Jednym z kluczowych elementów PostgreSQL są funkcje agregujące, które pozwalają na przetwarzanie i analizę danych w sposób zorganizowany i efektywny. Poniżej przyjrzymy się, czym są funkcje agregujące, jak je używać oraz jakie są najczęściej stosowane funkcje w praktyce.

Czym są funkcje agregujące?

Funkcje agregujące w PostgreSQL służą do obliczania jednej wartości wynikowej na podstawie zestawu wartości wejściowych. Daje to jeden wynik dla całej grupy tabel. Funkcje agregujące PostgreSQL służą do tworzenia podsumowanego zestawu wyników. Zwracają wyniki na podstawie grupy ustawionych wierszy. Funkcje agregujące domyślnie traktują wszystkie wiersze tabeli jako grupę. Podobnie jak klauzula group by instrukcji select, instrukcja dzieli wszystkie wiersze na mniejsze grupy lub fragmenty. Funkcje agregujące obsługują agregowanie wielu wierszy w jednym zestawie danych. Możemy zobaczyć listę funkcji agregujących za pomocą polecenia \df.Funkcje agregujące mogą być stosowane do sumowania, średniej, minimalnej, maksymalnej wartości oraz wielu innych operacji na zbiorach danych. Funkcje te są niezbędne przy analizie dużych zbiorów danych, takich jak raporty finansowe, statystyki sprzedaży czy analizy danych użytkowników.

Podstawowe funkcje agregujące w PostgreSQL

SUM()

Funkcja SUM() służy do sumowania wartości w kolumnie. Przykład:

SELECT SUM(cena) FROM produkty;

AVG()

Funkcja AVG() oblicza średnią wartość w kolumnie. Przykład:

SELECT AVG(ocena) FROM opinie;

MIN() i MAX()

Funkcje MIN() i MAX() zwracają odpowiednio najmniejszą i największą wartość w kolumnie. Przykłady:

SELECT MIN(data_zakupu) FROM transakcje;
SELECT MAX(data_zakupu) FROM transakcje;

Grupowanie danych

Funkcje agregujące często są używane w połączeniu z instrukcją GROUP BY, która pozwala grupować dane według określonego kryterium. Przykład:

SELECT kategoria, SUM(cena) FROM produkty GROUP BY kategoria;

W tym przypadku dane zostaną pogrupowane według kategorii, a dla każdej kategorii zostanie obliczona suma cen produktów.

Filtracja danych z funkcjami agregującymi

Możliwe jest również łączenie funkcji agregujących z instrukcją WHERE w celu filtrowania danych. Przykład:

SELECT kategoria, AVG(ocena) FROM opinie WHERE data_opinii > '2022-01-01' GROUP BY kategoria;

W tym zapytaniu obliczamy średnią ocenę dla opinii opublikowanych po 1 stycznia 2022 roku, pogrupowaną według kategorii.

PostgreSQL: Documentation

Przejdź do szkoleń z zakresu PostgreSQL

Może Cię również zainteresować: