SUM() w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
SUM() to funkcja agregująca SQL, która oblicza sumę wartości liczbowych w wybranej kolumnie. Stosuje się ją najczęściej w instrukcji SELECT, aby podsumować dane z wielu wierszy.
Składnia
SELECT SUM(nazwa_kolumny)
FROM nazwa_tabeli;
Przykład:
SELECT SUM(wartosc)
FROM zamowienia;
Zapytanie zwróci sumę wszystkich wartości z kolumny wartosc w tabeli zamowienia.
Różnica między SUM(), COUNT() i AVG()
SUM(wartosc)— oblicza sumę wartości w kolumnie,COUNT(wartosc)— liczy wiersze, w których kolumnawartoscnie ma wartościNULL,COUNT(*)— liczy wszystkie wiersze,AVG(wartosc)— oblicza średnią wartość w kolumnie.
Dlatego zapytanie:
SELECT COUNT(wartosc) FROM tabela;
nie oblicza sumy, tylko liczbę rekordów z niepustą wartością w kolumnie wartosc.
SUM() z warunkiem WHERE
Funkcję SUM() można łączyć z filtrowaniem:
SELECT SUM(wartosc)
FROM zamowienia
WHERE status = 'oplacone';
Takie zapytanie zsumuje tylko te rekordy, które spełniają warunek WHERE.
Ważne na egzaminie
Jeśli w pytaniu pojawia się COUNT(), odpowiedź dotyczy liczenia rekordów. Jeśli pojawia się SUM(), chodzi o sumowanie wartości liczbowych.