SQLGROUP BY语句
❮ 上一节 下一节 ❯ SQL GROUP BY 语句 SQL GROUP BY 语句 GROUP BY 语句将具有相同值的行分组为摘要行。 GROUP BY 语句通常与聚合函数(COUNT、MAX、MIN、SU

❮ 上一节
下一节 ❯
SQL GROUP BY 语句
SQL GROUP BY 语句
GROUP BY 语句将具有相同值的行分组为摘要行。
GROUP BY 语句通常与聚合函数(COUNT、MAX、MIN、SUM、AVG)一起使用,将结果集按一列或多列进行分组。
GROUP BY 语法
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)ORDER BY column_name(s);
演示数据库
以下是从 Northwind 示例数据库的 "客户(Customers)" 表中查询的内容:
CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
1
Alfreds Futterkiste
Maria Anders
Obere Str. 57
Berlin
12209
Germany
2
Ana Trujillo Emparedados y helados
Ana Trujillo
Avda. de la Constitución 2222
México D.F.
05021
Mexico
3
Antonio Moreno Taquería
Antonio Moreno
Mataderos 2312
México D.F.
05023
Mexico
4
Around the Horn
Thomas Hardy
120 Hanover Sq.
London
WA1 1DP
UK
5
Berglunds snabbköp
Christina Berglund
Berguvsvägen 8
Luleå
S-958 22
Sweden
SQL GROUP BY 实例
以下 SQL 语句列出了每个地区的客户数量:
实例
SELECT COUNT(CustomerID), CountryFROM CustomersGROUP BY Country;
亲自试一试 »
以下 SQL 语句列出了每个地区的客户数量,按从高到低排序:
实例
SELECT COUNT(CustomerID), CountryFROM CustomersGROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
亲自试一试 »
演示数据库
以下是从 "Orders" 表中选择的内容:
OrderID
CustomerID
EmployeeID
OrderDate
ShipperID
10248
90
5
1996-07-04
3
10249
81
6
1996-07-05
1
10250
34
4
1996-07-08
2
以及从 "Shippers" 表中选择的内容:
ShipperID
ShipperName
1
Speedy Express
2
United Package
3
Federal Shipping
SQL GROUP BY 多表连接
以下 SQL 语句列出了每个发货人发送的订单数量:
实例
SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM
OrdersLEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;
亲自试一试 »
学习训练
练习题:
列出每个国家/地区的客户数量。
SELECT (CustomerID),
Country
FROM Customers
;
提交答案 »
开始练习
❮ 上一节
下一节 ❯