Funkcje agregujące, to takie funkcje, które zwracają jedną wartość wyliczoną na podstawie wielu wierszy. Wszystkie funkcje grupowe ignorują wiersze zawierające wartość null w kolumnie, na której działają. Opcjonalnie do każdej funkcji można dodać modyfikator distinct co będzie skutkowało przeliczeniem nie uwzględniającym wartości, które się powtórzą.
avg (wyrażenie) – funkcja oblicza wartość średnią wyrażenia dla wszystkich wierszy.
select avg(ListPrice) from SalesLT.Product;
Wyświetlona została średnia cena produktu.
select avg(distinct ListPrice) from SalesLT.Product;
Wyświetlona została średnia cena produktu, nie uwzględniając powtórzonych wartości.
Funkcja oblicza sumę wartości wyrażeń dla wszystkich wierszy.
select sum(distinct ListPrice) from SalesLT.Product;
Wyświetlona została suma cen wszystkich produktów.
select sum(distinct ListPrice) from SalesLT.Product;
Wyświetlona została suma cen wszystkich produktów, nie uwzględniając powtórzonych wartości.
Funkcja oblicza minimalną wartość wyrażenia, wartość wyrażenia może być liczbą, ciągiem znaków lub datą. W przypadku daty zwraca najwcześniejszą, w przypadku tekstu, pierwszy ciąg uszeregowany wg alfabetu.
select min(ListPrice) from SalesLT.Product;
Wyświetlona najniższa cena produktu.
select min(Name) from SalesLT.Product;
Wyświetlona „najniższa nazwa” produktu (względem porządku alfabetycznego).
select min(SellStartDate) from SalesLT.Product;
Wyświetlona najwcześniejsza data sprzedaży produktu.
MAX
Funkcja oblicza maksymalną wartość wyrażenia, wartość wyrażenia może być liczbą, ciągiem znaków lub datą. W przypadku daty zwraca najpóźniejszą, w przypadku tekstu, ostatni ciąg uszeregowany wg alfabetu.
select max(ListPrice) from SalesLT.Product;
Wyświetlona najwyższa cena produktu.
select max(Name) from SalesLT.Product;
Wyświetlona „najwyższa nazwa” produktu (względem porządku alfabetycznego).
select max(SellStartDate) from SalesLT.Product;
Wyświetlona najstarsza data sprzedaży produktu.
count (wyrażenie) - funkcja zwraca ilość wierszy dla których wyrażenie jest różne od null. Zamiast wpisywać nazwę kolumny, można uzyć znaku "*" - wtedy zostanie zliczona liczba wszystkich wierszy w tabeli.
select count(Name) from SalesLT.Product;
Wyświetlona została ilość nazw produktów (podliczenie ilości wierszy dla kolumny Name).
select count(*) from SalesLT.Product;
Wyświetlona została ilość wierszy (podliczenie ilości wierszy dla całej tabeli SalesLT.Product).
W przypadku funkcji agregujących nazwy kolumn również tracą swoją nazwę, dlatego i tu najlepiej użyć aliasów, by później wiedzieć co dana kolumna przedstawia.
select count(*) IlośćWierszy from SalesLT.Product;
Wyświetlona została ilość wierszy (podliczenie ilości wierszy dla całej tabeli SalesLT.Product) z odpowiednim aliasem dla tej kolumny.
Funkcji agregujących możemy używać także kilku na raz w jednym zapytaniu.
W jednym zapytaniu wyświetlone zostały wartości: średnia cena produktu, suma cen produktów, minimalna cena produktu, maksymalna cena produktu oraz ilość wszystkich produktów. Kolumnom zostały nadane odpowiednie aliasy.
Komentarze (0)
Brak komentarzy...