Sobes.tech
Middle

Dlaczego liczba wartości w wynikach zapytania z funkcjami agregującymi nie jest równa liczbie wierszy?

sobes.tech AI

Odpowiedź od AI

Liczba wartości w wynikach zapytania z funkcjami agregującymi nie jest równa liczbie wierszy oryginalnej tabeli, ponieważ funkcje agregujące (np. SUM, COUNT, AVG, MAX, MIN) redukują zbiór wierszy do jednej lub kilku wartości, podsumowując dane. Jeśli w zapytaniu używana jest funkcja agregująca bez klauzuli GROUP BY, wynik będzie zawierał jeden wiersz z wartością zagregowaną dla całego zestawu danych.

Jeśli jednak użyje się GROUP BY, liczba wierszy w wyniku będzie równa liczbie unikalnych grup, a nie liczbie oryginalnych wierszy. Na przykład, jeśli pogrupujesz po kolumnie z 5 unikalnymi wartościami, wynik będzie zawierał 5 wierszy – po jednym na każdą grupę.

Przykład:

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

Tutaj wynik zawiera jeden wiersz na każdy dział, a nie na każdego pracownika.