Sobes.tech
Junior

Czym jest grupowanie w bazie danych?

sobes.tech AI

Odpowiedź od AI

Grupowanie w bazie danych to operacja, która agreguje wiersze z takimi samymi wartościami w jednej lub kilku kolumnach w zestawie wyników, składającym się z jednej linii dla każdej grupy. Zazwyczaj jest używane w połączeniu z funkcjami agregującymi (np. COUNT, SUM, AVG, MIN, MAX) do wykonywania obliczeń dla każdej grupy.

Przykład użycia w SQL:

SELECT
    kolumna1,       -- Kolumna do grupowania
    COUNT(*) AS łączna_liczba_wierszy, -- Funkcja agregująca
    SUM(kolumna2) AS suma_kolumna2 -- Inna funkcja agregująca
FROM
    nazwa_tabeli
WHERE
    warunek -- Dodatkowy warunek filtrowania przed grupowaniem
GROUP BY
    kolumna1 -- Wskazuje, według której kolumny grupować
HAVING
    SUM(kolumna2) > 100 -- Warunek filtrowania po grupowaniu
ORDER BY
    kolumna1; -- Sortowanie wyniku

Główne elementy związane z grupowaniem:

  • GROUP BY: Słowo kluczowe wskazujące kolumny, według których należy grupować wiersze.
  • Funkcje agregujące: Funkcje stosowane do każdej grupy, aby uzyskać jedną wartość dla każdej grupy (np. COUNT, SUM, AVG, MIN, MAX).
  • HAVING: Warunek stosowany do zaggregowanych wyników każdej grupy. Używany do filtrowania grup. Różni się od WHERE, które filtruje wiersze przed grupowaniem.