Funkcje agregujące: COUNT, SUM, AVG

Funkcje agregujące w MySQL są używane do przeprowadzania obliczeń na zbiorach danych. Dzięki nim możemy uzyskać wartości takie jak suma, średnia, czy liczba rekordów spełniających określone warunki. Funkcje agregujące są często używane w zapytaniach z klauzulą GROUP BY, ale mogą być również stosowane samodzielnie w zapytaniach bez grupowania.

📌 Funkcja COUNT() – Liczba rekordów

✅ Podstawowa składnia - opis

  • Funkcja COUNT() zlicza liczbę rekordów w tabeli lub liczbę rekordów spełniających określony warunek.
  • Może być używana do zliczania wartości w kolumnie, ale także do policzenia wszystkich rekordów, niezależnie od wartości w tej kolumnie.
Przykład
-- Podstawowa Składnia
SELECT COUNT(kolumna)
FROM tabela;

-- Przykład Zliczanie liczby wszystkich zamówień
SELECT COUNT(*) AS liczba_zamowien
FROM zamowienia;

📌 Funkcja SUM() – Suma wartości

✅ Opis:

  • Funkcja SUM() oblicza sumę wartości w kolumnie. Używana jest głównie do sumowania wartości liczbowych, takich jak ceny, ilości, etc.

📌 Opis:

  • To zapytanie zwróci sumę wszystkich cen w tabeli zamowienia. Funkcja SUM() jest użyteczna w przypadku obliczania łącznej wartości sprzedaży, obrotu itp.
Przykład
-- Podstawowa składnia
SELECT SUM(kolumna)
FROM tabela;

-- Przykład: Obliczanie łącznej wartości zamówień
SELECT SUM(cena) AS laczna_wartosc
FROM zamowienia;

📌 AVG() – Średnia wartość

✅ Podstawowa składnia - opis

  • Funkcja AVG() oblicza średnią wartość w danej kolumnie. Jest szczególnie użyteczna, gdy chcemy obliczyć średnią cenę, średnią wartość sprzedaży, etc.
Przykład
-- Podstawowa składnia
SELECT AVG(kolumna)
FROM tabela;

-- Przykład 
SELECT AVG(cena) AS srednia_wartosc
FROM zamowienia;

📌 Zastosowanie funkcji agregujących w zapytaniach

✅ Przykład użycia z grupowaniem:

📌 Opis:

  • To zapytanie grupuje zamówienia według klientów (klient_id) i zwraca liczbę zamówień oraz łączną wartość zamówień dla każdego klienta.
  • Funkcje COUNT() i SUM() działają na poziomie grup, a wynik przedstawia podsumowanie dla każdego klienta.
Przykład
SELECT klient_id, COUNT(*) AS liczba_zamowien, SUM(cena) AS laczna_wartosc
FROM zamowienia
GROUP BY klient_id;

Podsumowanie

  • COUNT() zlicza liczbę rekordów w tabeli lub liczbę rekordów spełniających określone warunki.
  • SUM() oblicza sumę wartości w kolumnie. Używana do sumowania wartości liczbowych, np. cen.
  • AVG() oblicza średnią wartość w kolumnie, np. średnią cenę zamówienia.
  • Funkcje agregujące są szczególnie przydatne przy analizie danych i generowaniu raportów.
  • Funkcje te można używać z klauzulą GROUP BY, aby uzyskać podsumowanie na poziomie grup, lub bez grupowania, aby uzyskać ogólną wartość.