Funkcje prezentowane do tej pory operują na
pojedynczych wierszach i zwracają jeden wiersz wyników dla każdego wiersza
wejściowego. W tym podrozdziale poznamy funkcje agregujące, które operują na
grupie wierszy i zwracają jeden wiersz wyników. Funkcje agregujące są czasem
nazywane grupującymi, ponieważ operują na grupach wierszy.
Funkcja
|
Opis
|
AVG(x)
|
Zwraca średnią wartość x
|
COUNT(x)
|
Zwraca liczbę wierszy zawierających x, zwróconych przez zapytanie
|
LIST(x)
|
Zwraca ciąg oddzielonych separatorem wartości x
|
MAX(x)
|
Zwraca maksymalną wartość x
|
MIN(x)
|
Zwraca minimalną wartość x
|
SUM(x)
|
Zwraca sumę x
|
Najważniejsze właściwości funkcji agregujących:
- Funkcje agregujące mogą być używane z dowolnymi, prawidłowymi wyrażeniami. Na przykład funkcje COUNT(), MAX() I MIN() mogą być używane z liczbami napisami i datami.
- Wartość NULL jest ignorowana przez funkcje agregujące, ponieważ wskazuje, że wartość jest nieznana i z tego powodu nie może zostać użyta w funkcji.
- Wraz z funkcją agregującą można użyć słowa kluczowego DISTINCT, aby wykluczyć z obliczeń powtarzające się wpisy.
AVG
Funkcja AVG(x) oblicza
średnią wartość x. Poniższe zapytanie zwraca średnią zarobków pracowników.
Należy zwrócić uwagę, że do funkcji AVG()
jest przesyłana kolumna salary z
tabeli employee:
Funkcje agregujące mogą być używane z dowolnymi
prawidłowymi wyrażeniami. Na przykład poniższe zapytanie przesyła do funkcji AVG() wyrażenie salary + 10000. Na skutek tego do wartości salary w każdym wierszu jest dodawane 10000, a następnie jest
obliczana średnia wyników:
W celu wyłączenia z obliczeń identycznych wartości
można użyć słowa kluczowego DISTINCT.
Na przykład w poniższym zapytaniu użyto go do wyłączenia identycznych wartości
z kolumny salary podczas obliczania
średniej za pomocą funkcji AVG():
Należy zauważyć, że w tym przypadku średnia jest nieco
wyższa niż wartość zwrócona przez pierwsze zapytanie prezentowane na samym
początku. Jest tak dlatego ponieważ wartości 111262.2 , 69482.63 oraz 35000,00 występują w kolumnie salary dwukrotnie. Dublujące się wartości
uznawane są za duplikat i wyłączone są z obliczeń wykonywanych przez funkcję AVG().
COUNT
Funkcja COUNT(x) oblicza liczbę wierszy zwróconych
przez zapytanie. Poniższe zapytanie zwraca liczbę wierszy w tabeli employee, korzystając z funkcji COUNT():
LIST
Funkcja LIST(x) zwraca ciąg oddzielonych przecinkiem wartości x. Poniższe zapytanie zwraca nazwy państw pochodzące z kolumny job_country z tabeli employee, korzystając z funkcji LIST():
Funkcja LIST(x) zwraca ciąg oddzielonych przecinkiem wartości x. Poniższe zapytanie zwraca nazwy państw pochodzące z kolumny job_country z tabeli employee, korzystając z funkcji LIST():
Opcjonalnie można przesłać opcjonalny parametr określający separator:
MAX I MIX
Funkcja MAX(x) i MIN(x) zwracają maksymalną i minimalną wartość x. Poniższe
zapytanie zwraca maksymalną i minimalną wartość z kolumny salary
tabeli employee, korzystając z
funkcji MAX() i MIN():
Funkcje MAX() i MIN() mogą być używane ze wszystkimi typami danych, włączenie z
napisami i datami. Gdy używamy MAX()
z napisami, są one porządkowane alfabetycznie, z „maksymalnym” napisem
umieszczonym na dole listy i „minimalnym” napisem umieszonym na górze listy.
Poniższy przykład pobiera „minimalny” i „maksymalny” napis z kolumny first_name tabeli employee, korzystając MAX()
i MIN():
W przypadku
dat „maksymalną” datą jest najpóźniejszy moment, „minimalną” – najwcześniejszy.
Poniższe zapytanie pobiera maksymalną i minimalną wartość z kolumny hire_date tabeli employee, korzystając z funkcji MAX()
i MIN():
SUM
Funkcja SUM(x) dodaje
wszystkie wartości w x i zwraca wynik. Poniższe zapytanie zwraca sumę z kolumny
salary
tabeli
employee, korzystając z
funkcji SUM():
Brak komentarzy:
Prześlij komentarz