STDDEV_POP() în MySQL

Abaterea standard a populației: cât de împrăștiate sunt valorile față de medie.

Sintaxă
STDDEV_POP(expresie)
STDDEV(expresie)
STD(expresie)

Ce face STDDEV_POP()

Abaterea standard arată cât de mult variază valorile față de medie. Una mică înseamnă valori apropiate, una mare înseamnă diferențe mari.

STDDEV_POP() consideră că datele sunt toată populația. STD() și STDDEV() sunt sinonime. Pentru un eșantion folosește STDDEV_SAMP().

Parametri

Parametru Descriere
expresie Coloana numerică analizată.

Ce returnează

Un număr real (DOUBLE); valorile NULL sunt ignorate.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE vanzari (
  agent VARCHAR(20),
  oras VARCHAR(20),
  luna INT,
  suma INT
);

INSERT INTO vanzari VALUES
  ('Ana', 'Iași', 1, 1200), ('Ana', 'Iași', 2, 1500), ('Ana', 'Iași', 3, 900),
  ('Dan', 'Cluj', 1, 900), ('Dan', 'Cluj', 2, 900), ('Dan', 'Cluj', 3, 1700),
  ('Ioana', 'Iași', 1, 2000), ('Ioana', 'Iași', 2, 1100);

Exemplul 1: Cât de constante sunt vânzările fiecărui agent

SELECT agent, ROUND(AVG(suma)) AS medie,
       ROUND(STDDEV_POP(suma), 1) AS abatere,
       ROUND(STD(suma), 1) AS cu_std
FROM vanzari
GROUP BY agent
ORDER BY agent;

Rezultat

+-------+-------+---------+--------+
| agent | medie | abatere | cu_std |
+-------+-------+---------+--------+
| Ana   |  1200 |   244.9 |  244.9 |
| Dan   |  1167 |   377.1 |  377.1 |
| Ioana |  1550 |     450 |    450 |
+-------+-------+---------+--------+

Greșeli frecvente

  • Afișezi rezultatul fără ROUND(). Este un număr real, cu multe zecimale și mici erori de rotunjire (ex. 519.9999999999999).

Comenzi înrudite

  • STDDEV_SAMP(): Abaterea standard a unui eșantion (împarte la n − 1).
  • VAR_POP(): Varianța populației: media pătratelor abaterilor de la medie.
  • AVG: Calculează media aritmetică a valorilor dintr-o coloană.