SQL pe scurt (2)
O altă operațiune frecventă în baze de date este agregarea – adică reducerea datelor prin împărțirea lor în grupuri și rezumarea fiecărui grup.
În SQL, acest lucru se realizează cu comanda GROUP BY. Aceasta împarte datele în grupuri și aplică o funcție din instrucțiunea SELECT fiecărui grup.
De exemplu, dacă vrei să numeri zborurile plecate din fiecare dintre două aeroporturi de origine, poți folosi interogarea:
SELECT COUNT(*) FROM flights
GROUP BY origin;
GROUP BY origin îi spune SQL că vrei ca rezultatul să conțină câte un rând pentru fiecare valoare unică din coloana origin. Instrucțiunea SELECT specifică valorile cu care vrei să populezi coloanele. Aici, vrem să COUNT() toate rândurile din fiecare grup.
Este posibil să folosești GROUP BY pe mai mult de o coloană. În acest caz, tabelul rezultat conține câte un rând pentru fiecare combinație de valori unice din coloanele respective. Interogarea de mai jos numără zborurile plecate din SEA și PDX către fiecare aeroport de destinație:
SELECT origin, dest, COUNT(*) FROM flights
GROUP BY origin, dest;
Rezultatul va conține câte un rând pentru fiecare combinație de valori din origin și dest (adică un rând pentru fiecare pereche origine–destinație). Va exista și o coloană cu COUNT() pentru toate rândurile din fiecare grup.
Nu uita că poți găsi o prezentare mai detaliată a SQL aici.
Ce informații returnează această interogare? Reține că tabelul flights conține informații despre zborurile plecate din PDX și SEA în 2014 și 2015. Funcția AVG() calculează media valorilor dintr-o coloană!
SELECT AVG(air_time) / 60 FROM flights
GROUP BY origin, carrier;
Acest exercițiu face parte din cursul
Fundamente PySpark
Exercițiu interactiv practic
Transformă teoria în practică cu unul dintre exercițiile noastre interactive
Începe exercițiul