Middle
Prečo počet hodnôt vo výsledkoch dotazu s agregačnými funkciami nie je rovnaký ako počet riadkov?
sobes.tech AI
Odpoveď od AI
Počet hodnôt vo výsledkoch dotazu s agregačnými funkciami nie je rovnaký ako počet riadkov v pôvodnej tabuľke, pretože agregačné funkcie (napríklad SUM, COUNT, AVG, MAX, MIN) znižujú množinu riadkov na jednu alebo viac hodnôt, zhrňujúc dáta. Ak je v dotaze použitá agregačná funkcia bez GROUP BY, výsledok bude jeden riadok s agregovanou hodnotou pre celý dátový súbor.
Ak je však použitý GROUP BY, počet riadkov vo výsledku bude rovnaký ako počet unikátnych skupín, nie ako počet pôvodných riadkov. Napríklad, ak skupujete podľa stĺpca s 5 unikátnymi hodnotami, výsledok bude obsahovať 5 riadkov — po jednom pre každú skupinu.
Príklad:
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;
Tu, výsledok obsahuje jeden riadok pre každý oddelenie, nie pre každého zamestnanca.