Ce face COUNT
COUNT(*) numără toate rândurile. COUNT(coloana) numără doar rândurile în care coloana nu este NULL. COUNT(DISTINCT coloana) numără valorile diferite.
Împreună cu GROUP BY, numără separat pentru fiecare grup, de exemplu câți clienți ai în fiecare oraș.
Ce returnează
Un număr întreg (0 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 clienti (
id INT PRIMARY KEY,
nume VARCHAR(50) NOT NULL,
oras VARCHAR(30),
email VARCHAR(100)
);
INSERT INTO clienti VALUES
(1, 'Ana Pop', 'Cluj', 'ana@exemplu.ro'),
(2, 'Bogdan Ionescu', 'Sibiu', NULL),
(3, 'Cristina Marin', 'Cluj', 'cristina@exemplu.ro'),
(4, 'Dan Stoica', 'Arad', NULL);
Exemplul 1: Cele trei forme
SELECT COUNT(*), COUNT(email), COUNT(DISTINCT oras) FROM clienti;
Rezultat
+----------+--------------+----------------------+
| COUNT(*) | COUNT(email) | COUNT(DISTINCT oras) |
+----------+--------------+----------------------+
| 4 | 2 | 3 |
+----------+--------------+----------------------+
Exemplul 2: Clienți din fiecare oraș
SELECT oras, COUNT(*) AS clienti
FROM clienti
GROUP BY oras
ORDER BY clienti DESC, oras;
Rezultat
+-------+---------+
| oras | clienti |
+-------+---------+
| Cluj | 2 |
| Arad | 1 |
| Sibiu | 1 |
+-------+---------+
Greșeli frecvente
- Folosești
COUNT(email)și te miri că numărul este mai mic decât numărul de rânduri. ValorileNULLnu sunt numărate. - Citești toate rândurile în PHP doar ca să le numeri. Lasă baza de date să numere cu
COUNT(*).