Funkcje grupujące group by
piątek, lipiec 11th, 2008
Do funkcji grupujących zaliczamy następujące funkcje:
AVG - średnia,
COUNT - zliczanie, ile,
MAX, MIN, DENSE_RANK, PERCENT_RANK, RANK, STDDEV i SUM.
count(*) - zliczanie, np. jeżeli chcemy zliczyć ilość wierszy w tabeli wtedy używamy count(*) przykład: chcemy zliczyć ile mężczyzn pracuje w firmie to wtedy robimy zapytanie
select count(*) from pracownicy where plec=’M';
zapytanie zwróci liczbę np. 150 . lub
select count(*) from odzialy;
to zapytanie poda nam ile jest wszystkich wierszy w tabeli .
Jeżeli chcemy policzyć ile jest wierszy ale w grupach to wtedy używamy dodatkowo group by i przykładowe zapytanie będzie wyglądało następująco:
select plec, count(*) from pracownicy group by plec;
to zapytanie zwróci liczbę mężczyzn i liczbe kobiet w tabeli pracownicy przykład wyniku:
M 150
K 109
czyli jak widzimy zliczyło w grupach grupami są tu rodzaje płci.
Możemy także zliczać tylko wartości nie zerowe (not NULL) w kolumnie i wtedy zamiast * podajemy nazwę kolumny przykład:
select count(prowizja) from płatnosci;
Możemy także zliczyć ile rodzajów np. mebli jest w tabeli meble
select count(DISTINCT(rodzaj_meble)) from meble;
w kolumnie rodzaj_meble są takie wartości jak: krzesło, wersalka, stol, fotele i inne.