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.