
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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.