Ultimele tutoriale de dezvoltare web
 

SQL Declarația GROUP BY


funcțiile agregate au nevoie de multe ori un grup de adăugat de declarație.


Declarația GROUP BY

Declarația GROUP BY este utilizat împreună cu funcțiile agregate pentru a grupa rezultatul inzestrate cu una sau mai multe coloane.

SQL GROUP BY Sintaxă

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

Baza de date Demo

In acest tutorial vom folosi bine-cunoscut baza de date eșantion Northwind.

Mai jos este o selecție din "Orders" tabel:

Comanda ID Număr de înregistrare client Card de identitate al angajatului Data comandă ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

Și o selecție din "Shippers" tabel:

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

Și o selecție din "Employees" tabel:

Card de identitate al angajatului Numele de familie Nume Data nasterii Fotografie notițe
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 Exemplu

Acum vrem să găsim numărul de comenzi trimise de fiecare expeditor.

Următoarea declarație SQL contează ca ordinele grupate de către transportatori:

Exemplu

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

Încearcă - l singur »

GROUP cu mai mult de o coloană

Putem folosi, de asemenea, declarația GROUP BY pe mai multe coloane, cum ar fi acest lucru:

Exemplu

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;

Încearcă - l singur »