Funkcja SUM() w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Funkcja SUM() w SQL

SUM() to funkcja agregująca SQL, która oblicza sumę wartości liczbowych z wybranej kolumny. Najczęściej stosuje się ją do pól typu liczbowego, np. cena, pensja, ilość, wartość zamówienia.

Składnia

SELECT SUM(nazwa_kolumny) FROM nazwa_tabeli;

Przykład:

SELECT SUM(pensja) FROM pracownicy;

To zapytanie zwróci jedną wartość: sumę wszystkich pensji z tabeli pracownicy.

SUM() z warunkiem WHERE

Funkcję SUM() można połączyć z warunkiem WHERE, aby zsumować tylko wybrane rekordy.

SELECT SUM(pensja)
FROM pracownicy
WHERE pensja > 4000;

Najpierw baza wybiera tylko pracowników spełniających warunek pensja > 4000, a dopiero potem sumuje ich pensje.

Dla danych:

  • 4600
  • 5400

wynik wynosi:

10000

Ważne cechy SUM()

  • zwraca jedną wartość, a nie listę rekordów,
  • działa na kolumnach liczbowych,
  • ignoruje wartości NULL,
  • często występuje razem z WHERE, GROUP BY lub aliasem.

Alias dla wyniku

Aby nazwać kolumnę wyniku czytelniej, można użyć aliasu:

SELECT SUM(pensja) AS suma_pensji
FROM pracownicy
WHERE pensja > 4000;

Wynik będzie miał nagłówek suma_pensji.

Typowy błąd na egzaminie

Nie należy mylić SUM() z wypisaniem pasujących wartości. Zapytanie z SUM(pensja) nie pokaże osobno pensji 4600 i 5400, tylko ich sumę, czyli 10000.