SUM în MySQL

Grupare și calcule Toate versiunile MySQL și MariaDB

Adună valorile dintr-o coloană numerică.

Sintaxă
SELECT SUM(coloana) FROM tabel;

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

Comenzi înrudite

  • COUNT: Numără rândurile sau valorile dintr-o coloană.
  • AVG: Calculează media aritmetică a valorilor dintr-o coloană.
  • GROUP BY: Grupează rândurile cu aceeași valoare, ca să calculezi totaluri pentru fiecare grup.