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 BYlub 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.