Jak działa SUM w języku SQL? Przykłady zastosowania

Jak działa SUM w języku SQL? Przykłady zastosowania

Funkcja SUM w języku SQL to jedno z najczęściej używanych narzędzi agregujących. Pozwala na szybkie i wygodne sumowanie wartości liczbowych w bazach danych. Dziś pokażę Ci, jak działa SUM w SQL, jakie są jej zastosowania oraz na co zwrócić uwagę przy jej używaniu.

Podstawowe użycie funkcji SUM

Funkcja SUM jest używana w zapytaniach SQL do obliczania sumy wartości w kolumnie. Najprostsza forma jej użycia wygląda następująco:

SELECT SUM(nazwa_kolumny) AS suma
FROM nazwa_tabeli;

Ten prosty przykład zwróci sumę wszystkich wartości w kolumnie nazwa_kolumny znajdującej się w tabeli nazwa_tabeli. Warto zaznaczyć, że SUM działa wyłącznie na danych liczbowych.

Przykład zastosowania – suma zamówień

Załóżmy, że mamy tabelę zamowienia, w której przechowywane są informacje o fakturach i ich wartościach.

CREATE TABLE zamowienia (
    id INT PRIMARY KEY,
    klient VARCHAR(100),
    kwota DECIMAL(10,2)
);

Teraz wypełnijmy ją przykładowymi danymi:

INSERT INTO zamowienia (id, klient, kwota) VALUES
(1, 'Jan Kowalski', 150.50),
(2, 'Anna Nowak', 230.00),
(3, 'Piotr Wiśniewski', 125.75),
(4, 'Jan Kowalski', 99.99);

Jeśli chcemy obliczyć łączną wartość wszystkich zamówień, wykonujemy zapytanie:

SELECT SUM(kwota) AS laczna_kwota FROM zamowienia;

Rezultat tego zapytania będzie następujący:

laczna_kwota
606.24

Grupowanie danych z GROUP BY

Często chcemy uzyskać sumy w podziale na określone kategorie, np. łączną wartość zamówień dla każdego klienta. W takiej sytuacji używamy GROUP BY:

SELECT klient, SUM(kwota) AS suma_klienta
FROM zamowienia
GROUP BY klient;

Wynik wyglądałby następująco:

klient suma_klienta
Jan Kowalski 250.49
Anna Nowak 230.00
Piotr Wiśniewski 125.75

Filtracja danych z WHERE

Możemy ograniczyć sumowane wartości, używając klauzuli WHERE. Na przykład, jeśli chcemy sumować tylko zamówienia o wartości powyżej 100:

SELECT SUM(kwota) AS suma_duzych_zamowien
FROM zamowienia
WHERE kwota > 100;

To zapytanie zwróci sumę tylko tych zamówień, które przekraczają 100 zł.

SUM a wartości NULL

Co się dzieje, jeśli w kolumnie mamy wartości NULL? Funkcja SUM ignoruje NULL i sumuje tylko istniejące liczby. Jeśli jednak chcemy uwzględnić brakujące wartości jako zera, możemy użyć funkcji COALESCE:

SELECT SUM(COALESCE(kwota, 0)) AS suma_wartosci
FROM zamowienia;

Podsumowanie

Funkcja SUM w SQL to niezwykle przydatne narzędzie pozwalające na szybkie obliczanie sum wartości liczbowych w bazie danych. Można ją stosować zarówno na całej tabeli, jak i w połączeniu z GROUP BY czy WHERE. Ważne jest też, aby pamiętać o sposobie traktowania wartości NULL i ewentualnie radzić sobie z nimi za pomocą COALESCE. Mam nadzieję, że ten artykuł pomógł Ci lepiej zrozumieć działanie SUM w SQL!

 

Inny ciekawy artykuł:

Jak działa COUNT w języku SQL? Przykłady zastosowania

KajoDataSpace