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.
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.
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;Încearcă
Câți angajați au fost angajați de la 1 ianuarie 2020? Returnează un singur număr (un rând, o coloană).
Afișează indiciu
Funcția care numără rândurile este COUNT(*).
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Î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.
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