agregaΦnφ_funkce
::= { COUNT | SUM | AVG | MIN | MAX } ([ ALL | DISTINCT ] v²raz) | COUNT(*)
AgregaΦnφ funkce poΦφtajφ nad mno₧inou hodnot v²razu v odpov∞di na dotaz poΦet hodnot (COUNT), souΦet (SUM), pr∙m∞r (AVG), minimum (MIN) a maximum (MAX). V²poΦet se provßdφ bu∩ nad vÜemi zßznamy v odpov∞di na dotaz (pokud dotaz neobsahuje GROUP BY) nebo nad ka₧dou skupinou urΦenou GROUP BY. Argumentem t∞chto funkcφ m∙₧e b²t libovoln² v²raz neobsahujφcφ jinou agregaΦnφ funkci - hodnota funkce se poΦφtß z t∞ch hodnot argument∙, kterΘ jsou r∙znΘ od NULL. Pro funkce SUM a AVG argument musφ b²t ΦφselnΘho typu, pro funkce MAX a MIN bu∩ ΦφselnΘho typu nebo n∞kterΘho z typ∙ typu DATE, TIME, TIMESTAMP, BOOLEAN a °et∞zec znak∙.
Mimo to argumentem funkce COUNT smφ b²t takΘ znak *, v takovΘm p°φpad∞ funkce vracφ poΦet vÜech hodnot, vΦetn∞ t∞ch, kterΘ se rovnajφ NULL.
Pokud se p°ed argumentem funkce uvede DISTINCT, uva₧ujφ se pouze r∙znΘ hodnoty argument∙ (u funkcφ MAX a MIN to nemß ₧ßdn² v²znam), pokud se uvede ALL nebo se neuvede nic, uva₧ujφ se vÜechny hodnoty.
AgregaΦnφ funkce se v dotazech pou₧φvajφ v klauzuli SELECT nebo HAVING. Nelze je pou₧φvat v klauzulφch WHERE nebo GROUP BY. V klauzuli ORDER BY je nutno je nahradit jmΘnem v²slednΘho sloupce, kterΘ lze specifikovat pomocφ AS v klauzuli SELECT.
Pokud funkce pracujφ nad prßzdnou mno₧inou hodnot, pak COUNT vracφ 0 a ostatnφ funkce vracejφ NULL.
Odchylky od Intermediate level sm∞rem k Full level nebo k SQL 3
Odchylky od Intermediate level sm∞rem k Entry level
Implementacφ definovanΘ vlastnosti SQL ve WinBase602
P°φklad pou₧itφ:
Vybrat faktury s hodnotou rovnΘ minimßlnφ
SELECT *
FROM Faktury
WHERE castka = (SELECT MIN(castka) FROM faktury)
Vybrat firmy, kterΘ majφ faktury za vφce ne₧ 10000 (tento dotaz lze zapsat efektivn∞ji s vyu₧itφm klauzule HAVING):
SELECT A.nazev
FROM Firmy A
WHERE 10000 < (SELECT SUM(B.castka)
FROM Faktury B
WHERE A.cislo=B.firma)