Czym są funkcje agregujące?

Podaj kilka przykładowych i omów działanie każdej z nich.


Funkcje agregujące są to funkcje wbudowane w serwer bazodanowy, które są stosowane w odniesieniu do grup danych i bazując na nich zwracają jedną wartość. Przykładowe funkcje agregujące to COUNT, MIN oraz MAX.

Przykładowe funkcje agregujące SQL

By ułatwić zrozumienie tematu w przykładach zostanie wykorzystana poniższa tabela
Id  Production_Year
11998
21998
3NULL
42021

COUNT

Zwraca liczbę wierszy spełniających określone kryteria. Najczęściej używana wersja to COUNT(*)

SELECT COUNT(*)
FROM cars
WHERE Production_Year > 2021

Wynik: 4 - zliczone zostały wszystkie wiersze

Funkcję COUNT można jeszcze użyć w następujący sposób: COUNT(nazwa_kolumny), np:

SELECT COUNT(Production_Year)
FROM cars

Wynik: 3 - zliczone zostały wiersze niezawierające wartości NULLw kolumnie Production_Year

Wynik z pozoru powinien być ten sam, czyli 4, jest jednak różnica pomiędzy wymienionymi przykładami. W wersji COUNT(*) zliczane są po prostu wszystkie wiersze, w przypadku użycia COUNT(nazwa_kolumny) zliczane są jedynie wartości, w których nie występuje NULL, gdyż jak wiadomo NULL w SQL oznacza brak wartości.

Ostatni sposób na wykorzystanie funkcji COUNT(DISTINCT nazwa_kolumny), np:

SELECT COUNT(DISTINCT Production_Year)
FROM cars
WHERE Production_Year > 2021

Wynik: 2 - zliczone zostały jedynie unikatowe wartości w kolumnie Production_Year


MIN

Zwraca minimalną wartość grupy danych dla wartości innych niż NULL. Zwraca wartość NULL, jeśli grupa danych zawiera jedynie wartości NULL lub dane wejściowe nie zawierają żadnych danych.

SELECT MIN(Production_Year)
FROM cars

Wynik: 1998

SELECT MIN(Production_Year)
FROM cars
WHERE Production_Year > 2023

Wynik: NULL - brak wyników dla warunku Production_Year > 2023


© 2021 - SkillsTest.pl | | Regulamin | Polityka Prywatnosci