Obținerea totalurilor, Tutorial SQL interactiv

Cum pot afla numărul de modele de PC produse de un anumit furnizor? Cum se determină valoarea medie a prețului computerelor cu aceleași caracteristici tehnice? Acestea și multe alte întrebări legate de unele informații statistice pot primi răspuns folosind funcții de rezumat (agregate). Standardul oferă următoarele funcții agregate:

Toate aceste funcții returnează o singură valoare. Cu toate acestea, funcțiile COUNT , MIN și MAX sunt aplicabile datelor de orice tip, în timp ce SUM și AVG sunt utilizate numai pentru date de tip numeric. Diferența dintre funcția COUNT (*) și COUNT (expresie nume de coloană) este că cea din urmă (ca și alte funcții agregate) nu ia în considerare valorile NULL la calcul.

Găsiți prețul minim și maxim pentru computerele personale:

obținerea

Rezultatul va fi un singur rând care conține valori agregate:

Găsiți numărul disponibil de computere produse de producătorul A

totalurilor

Drept urmare, obținem

Dacă suntem interesați de numărul de modele diferite produse de producătorul A, atunci interogarea poate fi formulată după cum urmează (folosind faptul că în tabelul Produs, numărul modelului - coloana modelului - este cheia primară și, prin urmare, nu nu permite repetări):

interactiv

Găsiți numărul de modele diferite de PC disponibile fabricate de producătorul A.

Interogarea este similară cu cea anterioară, în care a fost necesar să se determine numărul total de modele fabricate de producătorul A. Aici, este necesar să se găsească numărul de modele diferite în tabelul PC (adică, disponibile pentru vânzare) .

Pentru a se asigura că la obținerea indicatorilor statistici sunt utilizate numai valori unice, cu argumentulfuncții agregate, puteți utiliza parametrul DISTINCT. Cealaltă opțiune, ALL, este activată în mod implicit și se așteaptă să numere toate valorile returnate (non-NULL) în coloană. Operator

totalurilor

va da urmatorul rezultat

Dacă dorim să obținem numărul de modele de PC produse de fiecare producător, atunci trebuie să folosim clauza GROUP BY, urmând sintactic clauza WHERE.