Agregačné funkcie
Agregačné funkcie sú typy dopytov, ktoré spracovávajú hodnoty z celých stĺpcov tabuľky. Zadávame ich do zoznamu výstupných položiek za príkaz SELECT.
AVG(nazov_stĺpca) – vráti aritmetický priemer z množiny hodnôt v stĺpci
COUNT(DISTINCT nazov_stĺpca) – spočíta počet jedinečných hodnôt v stĺpci
COUNT(nazov_stĺpca) – spočíta počet hodnôt v stĺpci
MAX(nazov_stĺpca) – vráti maximálnu hodnotu z množiny údajov
MIN(nazov_stĺpca) – vráti minimálnu hodnotu z množiny údajov
SUM(nazov_stĺpca) – vráti súčet hodnôt v množine údajov
STD(nazov_stĺpca) – vykoná súčet číselných hodnôt v stĺpci
VAR([DISTINCT | ALL] nazov_stĺpca) – vráti varianciu pre skupinu záznamov
STDEV([DISTINCT | ALL] nazov_stĺpca) – vráti štandardnú odchýlku (odmocninu z variancie) pre skupinu záznamov.
AVG
Ak chceme zistiť priemerný vek v našej tabuľke, samozrejme za predpokladu, že naša tabuľka obsahuje údaj o veku jednotlivých záznamov, použijeme príkaz AVG. Položky s hodnotou Null sa neuvažujú. Príkaz SELECT bude potom vyzerať nasledovne:
SELECT AVG(vek) FROM udaje;
COUNT
Pre spočítanie všetkých údajov v tabuľke použijeme príkaz COUNT. Nasledovným príkazom si zistíme počet zadefinovaných záznamov v tabuľke.
SELECT COUNT(*) FROM udaje;
Ak by sme si do tabuľky pridali atribúty "usek" a "funkcia" a chceli by sme určiť zoznam úsekov a koľko osôb pracuje na akých funkciách na jednotlivých oddeleniach urobíme to nasledovne:
Príklad:SELECT usek, funkcia, COUNT() as 'pocet' FROM udaje GROUP BY usek, funkcia;
| usek | funkcia | pocet |
|---|---|---|
| ekonomicky | riaditel | 2 |
| asistent | 1 | |
| uctovnik | 7 | |
| obchodny | riaditel | 1 |
| asistent | 1 | |
| uctovnik | 0 |
Vo viacvrstvovej agregácii záleží na poradí zložiek agregačného kľúča. Ak toto poradie z predchádzajúceho príkladu obrátime, potom dostaneme odlišný výstup ako ukazuje nasledujúca tabuľka:
Príklad:SELECT funkcia, usek COUNT() as 'pocet' FROM udaje GROUP BY funkcia, usek;
| funkcia | usek | pocet |
|---|---|---|
| riaditel | ekonomicky | 2 |
| obchodny | 1 | |
| asistent | ekonomicky | 1 |
| obchodny | 1 | |
| uctovnik | ekonomicky | 7 |
| obchodny | 0 |
SUM
Ako príklad si spočítame napríklad roky všetkých osôb v tabuľke.
Príklad:SELECT SUM(vek) as 'vek_spolu' FROM udaje;
| vek_spolu |
|---|
| 152 |
MIN a MAX
Ako príklad si zistíme najnižší a najvyšší vek v tabuľke.
Príklad:SELECT MIN(vek) as 'min_vek', MAX(vek) as 'max_vek' FROM udaje;
| min_vek | max_vek |
|---|---|
| 21 | 45 |

