Sobes.tech
Middle

Proč počet hodnot ve výsledcích dotazu s agregačními funkcemi není roven počtu řádků?

sobes.tech AI

Odpověď od AI

Počet hodnot v výsledcích dotazu s agregačními funkcemi není roven počtu řádků původní tabulky, protože agregační funkce (například SUM, COUNT, AVG, MAX, MIN) zredukují množinu řádků na jednu nebo více hodnot, shrnující data. Pokud je v dotazu použita agregační funkce bez GROUP BY, bude výsledkem jediný řádek s agregovanou hodnotou pro celý datový soubor.

Pokud je však použito GROUP BY, počet řádků ve výsledku bude roven počtu unikátních skupin, nikoli počtu původních řádků. Například pokud seskupíte podle sloupce s 5 unikátními hodnotami, výsledek bude obsahovat 5 řádků — po jednom pro každou skupinu.

Příklad:

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

Zde výsledek obsahuje jeden řádek pro každý oddělení, nikoli pro každého zaměstnance.