SQL Agregační funkce – SUM, COUNT, MAX, MIN, AVG

SQL agregační funkce – AVG, COUNT, MAX, MIN, SUM patří do tvz. window funkcí a tyto funkce jsou obecně jedny z nejpoužívanějších. Při aplikaci agregační funkce je přítomnost klauzule GROUP BY povinná (pokud neprovádíme tzv. operace nad okny pomocí OVER()).

Funkcí na pořadí řadíme do tzv Window funkcí a do stejné skupiny patří kromě nich také funkce na pořadí (ranking functions) a offset funkce (na stránkování).

Seznam agregačních funkcí:

AVG() – Vrátí přůměrnou hodnotu ze souboru dat
COUNT() – Vrátí počet řádků (hodnot)
MAX() – Vrátí maximální (nejvyšší) hodnotu
MIN() – Vrátí minimální (nejmenší) hodnotu
SUM() – Vrátí součet hodnot

Kombinace agregační funkce a klauzule GROUP BY umožňuje data řezat přes různé sloupce (příklad v článku o GROUP BY) to je důležité pro to, abychom mohli snížit atomicitu dat.

Praktický příklad použítí agregačních funkcí:

Mějme tabulku s Tržbami [SalesAmount] a datumem objednávky [OrderDate].

SQL Agregační funkce

Vstupní data

V ukázce použijeme aplikaci všech agregačních funkcí na tržby, nejlépe je to vidět na příkladu.

SELECT
  CAST(OrderDate AS DATE) AS Datum_Objednavky,
  SUM(SalesAmount)        AS Soucet_trzeb,
  AVG(SalesAmount)        AS Prumer_trzeb,
  COUNT(SalesAmount)      AS Pocet_trzeb,
  MAX(SalesAmount)        AS Maximalni_trzba,
  MIN(SalesAmount)        AS Minimalni_trzba
FROM AdventureWorksDW2014.dbo.FactInternetSales
GROUP BY OrderDate
ORDER BY OrderDate;



Reagovat na příspěvek