Salt la conținutul principal
Modulul 2 · Lecția 4 din 48/57 în curs~8 min
Lecții din modul (4/4)

Numărarea și rezumatul: COUNT, AVG, MAX

Până acum, fiecare SELECT a returnat câte un rând pentru fiecare rând al tabelului. Funcțiile agregate fac opusul: citesc multe rânduri și revin o singură valoare care le rezumă.

Cele mai frecvente sunt:

  • COUNT(*) — câte rânduri există.
  • AVG(column) — media valorilor numerice (ignoră NULL).
  • MAX(column) / MIN(column) — valoarea maximă/minimă.
  • SUM(column) — suma valorilor numerice.
SQL
SELECT COUNT(*),
       AVG(salary),
       MAX(salary)
FROM employees;

Când agregatul este aplicat întregului tabel (fără GROUP BY, care veți vedea în modulul următor) rezultatul este un singur rând, indiferent din câte rânduri are tabelul sursă.

Combinând cu WHERE

WHERE filtre înainte de agregare: agregatul funcționează numai pe rânduri care a trecut de filtru.

SQL
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;

Încearcă

Exercițiu#sql.m2.l4.e1
Încercări: 0Se încarcă…

Câți angajați au fost angajați de la 1 ianuarie 2020? Returnează un singur număr (un rând, o coloană).

Se încarcă editorul...
Afișează indiciu

Funcția care numără rândurile este COUNT(*).

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#sql.m2.l4.e2
Încercări: 0Se încarcă…

Într-o singură interogare, calculați salariul mediu (AVG) și maxim (MAX) al angajaților din Marketing (department_id = 3). Un rând, două coloane.

Se încarcă editorul...
Afișează indiciu

Puteți pune mai multe funcții agregate în același SELECT, separate prin virgule.

Soluție disponibilă după 3 încercări