Gli ultimi tutorial di sviluppo web
 

SQL GROUP BY Statement


Le funzioni aggregate spesso bisogno di un gruppo Aggiunto da dichiarazione.


GROUP BY Statement

Il GROUP BY viene utilizzata in combinazione con le funzioni di aggregazione per raggruppare il risultato-set per una o più colonne.

SQL GROUP BY sintassi

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

Database Demo

In questo tutorial useremo il noto database di esempio Northwind.

Di seguito una selezione dal "Orders" tabella:

ID ordine Identificativo del cliente ID Dipendente Data dell'ordine ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

E una selezione della "Shippers" tabella:

ShipperID ShipperName Telefono
1 Speedy Express (503) 555-9831
2 United Package (503) 555-3199
3 Federal Shipping (503) 555-9931

E una selezione della "Employees" tabella:

ID Dipendente Cognome Nome Data di nascita Foto Note
1 Davolio Nancy 1968-12-08 EmpID1.pic Education includes a BA....
2 Fuller Andrew 1952-02-19 EmpID2.pic Andrew received his BTS....
3 Leverling Janet 1963-08-30 EmpID3.pic Janet has a BS degree....

SQL GROUP BY Esempio

Ora vogliamo trovare il numero di ordini inviati da ciascun mittente.

La seguente istruzione SQL conta come gli ordini raggruppati per spedizionieri:

Esempio

SELECT Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers
ON Orders.ShipperID=Shippers.ShipperID
GROUP BY ShipperName;

Prova tu stesso "

GROUP BY più di una colonna

Possiamo anche usare GROUP BY dichiarazione su più di una colonna, in questo modo:

Esempio

SELECT Shippers.ShipperName, Employees.LastName,
COUNT(Orders.OrderID) AS NumberOfOrders
FROM ((Orders
INNER JOIN Shippers
ON Orders.ShipperID=Shippers.ShipperID)
INNER JOIN Employees
ON Orders.EmployeeID=Employees.EmployeeID)
GROUP BY ShipperName,LastName;

Prova tu stesso "