Sobes.tech
Junior

Jakie zapytanie SQL należy użyć do grupowania danych?

sobes.tech AI

Odpowiedź od AI

SELECT
    column1,
    column2,
    aggregate_function(column3)
FROM
    your_table
WHERE
    condition
GROUP BY
    column1,
    column2
ORDER BY
    column1;

Używa się GROUP BY. Grupuje wiersze z takimi samymi wartościami w jednej lub kilku kolumnach w jeden wiersz podsumowujący, dla którego można używać funkcji agregujących (np. COUNT, SUM, AVG, MIN, MAX).

  • SELECT - wskazuje kolumny, które mają zostać wybrane. Powinny zawierać kolumny do grupowania i/lub funkcje agregujące.
  • FROM - wskazuje tabelę, z której pobierane są dane.
  • WHERE - opcjonalny warunek filtrowania wierszy przed grupowaniem.
  • GROUP BY - wskazuje kolumny, według których będą grupowane dane. Wszystkie nieagregowane kolumny w SELECT muszą być w GROUP BY.
  • HAVING - opcjonalny warunek filtrowania grup po grupowaniu (używany z funkcjami agregującymi).
  • ORDER BY - opcjonalny warunek sortowania wynikowych wierszy.

Przykład funkcji agregujących:

Funkcja Opis
COUNT() Liczy liczbę wierszy w grupie.
SUM() Oblicza sumę wartości w kolumnie dla każdej grupy.
AVG() Oblicza średnią wartość w kolumnie dla każdej grupy.
MIN() Znajduje minimalną wartość w kolumnie dla każdej grupy.
MAX() Znajduje maksymalną wartość w kolumnie dla każdej grupy.