
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
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

