Sobes.tech
Middle

De ce numărul de valori din rezultatele unei interogări cu funcții de agregare nu este egal cu numărul de rânduri?

sobes.tech AI

Răspuns de la AI

Numărul de valori din rezultatele unei interogări cu funcții de agregare nu este egal cu numărul de rânduri ale tabelului original, deoarece funcțiile de agregare (de exemplu, SUM, COUNT, AVG, MAX, MIN) reduc un set de rânduri la una sau mai multe valori, sintetizând datele. Dacă în interogare se folosește o funcție de agregare fără GROUP BY, rezultatul va fi o singură linie cu valoarea agregată pentru întregul set de date.

Dacă se folosește GROUP BY, atunci numărul de rânduri din rezultat va fi egal cu numărul de grupuri unice, nu cu numărul de rânduri originale. De exemplu, dacă se grupează după o coloană cu 5 valori unice, rezultatul va conține 5 rânduri — câte unul pentru fiecare grup.

Exemplu:

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

Aici, rezultatul conține câte o linie pentru fiecare departament, nu pentru fiecare angajat.