Sobes.tech
Middle

Kodėl užklausos rezultatų reikšmių skaičius su agregavimo funkcijomis nėra lygus eilučių skaičiui?

sobes.tech AI

Atsakymas iš AI

Užklausos rezultatų reikšmių skaičius nėra lygus pirminės lentelės eilučių skaičiui, nes agregavimo funkcijos (pvz., SUM, COUNT, AVG, MAX, MIN) sumažina eilučių rinkinį iki vienos ar kelių reikšmių, apibendrinant duomenis. Jei užklausoje naudojama agregavimo funkcija be GROUP BY, rezultatas bus viena eilutė su apibendrinta reikšme visam duomenų rinkiniui.

Jei naudojamas GROUP BY, rezultatų eilučių skaičius bus lygus unikalių grupių skaičiui, o ne pirminių eilučių skaičiui. Pavyzdžiui, jei grupuojama pagal stulpelį su 5 unikaliomis reikšmėmis, rezultatas turės 5 eilutes — po vieną kiekvienai grupei.

Pavyzdys:

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

Čia rezultatas turi po vieną eilutę kiekvienam skyriui, o ne kiekvienam darbuotojui.