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.