Ce face SUM
SUM calculează totalul valorilor dintr-o coloană. Valorile NULL sunt ignorate. Poți aduna și expresii, de exemplu SUM(pret * stoc).
Dacă nu există niciun rând, SUM returnează NULL, nu 0. Folosește COALESCE(SUM(...), 0) când ai nevoie de 0.
Ce returnează
Suma valorilor sau NULL dacă nu există rânduri.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE produse (
id INT PRIMARY KEY,
nume VARCHAR(50) NOT NULL,
categorie VARCHAR(30),
pret INT,
stoc INT
);
INSERT INTO produse VALUES
(1, 'Laptop', 'Electronice', 3500, 4),
(2, 'Mouse', 'Electronice', 80, 25),
(3, 'Birou', 'Mobilier', 900, 0),
(4, 'Scaun', 'Mobilier', 650, 7),
(5, 'Monitor', 'Electronice', 1200, 3);
Exemplul 1: Stocul total și valoarea lui
SELECT SUM(stoc) AS bucati, SUM(pret * stoc) AS valoare FROM produse;
Rezultat
+--------+---------+
| bucati | valoare |
+--------+---------+
| 39 | 24150 |
+--------+---------+
Exemplul 2: Pe categorii
SELECT categorie, SUM(stoc) AS bucati
FROM produse
GROUP BY categorie
ORDER BY categorie;
Rezultat
+-------------+--------+
| categorie | bucati |
+-------------+--------+
| Electronice | 32 |
| Mobilier | 7 |
+-------------+--------+
Exemplul 3: Fără rânduri: NULL sau 0
SELECT SUM(stoc), COALESCE(SUM(stoc), 0)
FROM produse
WHERE categorie = 'Jucării';
Rezultat
+-----------+------------------------+
| SUM(stoc) | COALESCE(SUM(stoc), 0) |
+-----------+------------------------+
| NULL | 0 |
+-----------+------------------------+
Greșeli frecvente
- Afișezi direct rezultatul în pagină și apare gol când nu există date. Pune
COALESCE(SUM(...), 0).