Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyDatabázové systémy v biomedicíně Funkce a operátory v SQL Funkce Agregační funkce

Logo Matematická biologie

Agregační funkce

Speciální skupinou jsou funkce agregační. Zatímco dosud zmíněné funkce vrací jednu hodnotu pro každý řádek zpracovávaného SQL dotazu, agregační funkce vrací jen jeden řádek, tedy agregují všechny řádky do jedné hodnoty. Seznam standardních funkcí uvádí tabulka 6.

Tab. 6: Agregační funkce
Název funkce
Popis funkce
COUNT
Počet řádků, které jsou výsledkem SQL dotazu
AVG(sloupec)
Vypočítá aritmetický průměr sloupce
SUM(sloupec)
Vypočítá sumární součet sloupce
MIN(sloupec)
Vrací minimum sloupce
MAX(sloupec)
Vrací maximum sloupce
STDDEV(sloupec)
Počítá standardní odchylku
MEDIAN(sloupec)
Počítá medián ze sloupce

 

Funkci COUNT lze použít ve třech variantách:

SELECT COUNT(*), COUNT(date_of_birth), COUNT(DISTINCT date_of_birth) FROM patients

Varianta s hvězdičkou vrací prostý počet řádku SQL dotazu, druhá varianta s názvem sloupce vrací počet řádků s vyplněnou hodnotou daného sloupce (NOT NULL), třetí varianta s klíčovým slovem DISTINCT vrací počet unikátních hodnot v daném sloupci.

Pro výsledek musí platit vždy

COUNT(*) >= COUNT(sloupec) >= COUNT(DISTINCT sloupec)

Funkce AVG, STDDEV a SUM lze použít pouze pro číselné sloupce, sloupce MIN, MAX pro všechny základní datové typy.

Agregační funkce nelze kombinovat s ostatními funkcemi. Nelze:

SELECT COUNT(*), LENGTH (patient_id) FROM patients.

Výjimkou jsou funkce, které vrací jednu hodnotu jako např. CURRENT_DATE. I v tomto případě je však doporučeno aplikovat na tyto funkce funkci agregační:

SELECT COUNT(*), MAX(CURRENT_DATE) FROM patients.

Bez omezení je možné aplikovat standardní funkce na výsledek agregační funkce:

SELECT ROUND(COUNT(*)/10) FROM patients

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity