SELECT SUM(cena) AS soucet,date,date_format(date,'%e.%c.%Y') AS dat FROM odpis GROUP BY dat ORDER BY soucet DESC LIMIT 1
vypíše součty všech cen dle data...seřadí jen sestupně (1. řádek je tedy nejvyšší částka)
Třídění dle výsledků agregační funkce
Pokudbychom chtěli vypsat všechny knihy a u každé z nich jejich průměrnou cenu (pro všechna nakladatelství), je praktické takový výpis seřadit právě podle této ceny. Chceme-li výpis setřídit podle hodnoty agregační funkce, za klíčové slovo ORDER BY uvedeme agregační funkci, jak ukazuje následující příklad:
SELECT název, MAX(cena)
FROM nakladatelství, výtisk
WHERE nakladatelství.id = výtisk.nakladatel.id
GROUP BY název
ORDER BY MAX(cena)
Některé databázové systémy mají však omezení, které neumožňuje zadat přímo agregační funkci za ORDER BY. V takovém případě máme jednoduchou pomoc. Použijeme už zmíňovaný modifikátor AS a dáme sloupci agregované funkce nějaký alias a ten uvedeme za ORDER BY. Předchozí příklad by se dal ekvivalentně zapsat takto:
SELECT název, MAX(cena) AS 'max_cena'
FROM nakladatelství, výtisk
WHERE nakladatelství.id = výtisk.nakladatel.id
GROUP BY název
ORDER BY max_cena
Toto byl základní přehled a použití agregačních funkcí. Většinou se tyto funkce používají s kombinací s vnořování záznamů, které nám umožňují získat i další zajímavé informace z databáze. Např. předchozí příklad bychom mohli modifikovat tak, že nás nebude pouze zajímat nejdražší cena, ale že k ní budeme chtít i název knihy, která je nejdražší. O vnořování dotazů budu mluvit v některém z příštích dílů.