继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

SQL GROUP BY 详解及简单实例

ajax入门学习视频
关注TA
已关注
手记 266
粉丝 79
获赞 597

 GROUP BY 语句用于结合 Aggregate 函数,根据一个或多个列对结果集进行分组。

SQL GROUP BY 语法

?

1234SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name;

 演示数据库

在本教程中,我们将使用众所周知的 Northwind 样本数据库。

下面是选自 "Orders" 表的数据:


OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489051996-07-043
102498161996-07-051
102503441996-07-082


选自 "Shippers" 表的数据:


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


选自 "Employees" 表的数据:


EmployeeIDLastNameFirstNameBirthDatePhotoNotes
1DavolioNancy1968-12-08EmpID1.picEducation includes a BA....
2FullerAndrew1952-02-19EmpID2.picAndrew received his BTS....
3LeverlingJanet1963-08-30EmpID3.picJanet has a BS degree....


 SQL GROUP BY 实例

现在我们想要查找每个送货员配送的订单数目。

下面的 SQL 语句按送货员进行订单分类统计:

?

1234SELECT Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrders FROM OrdersLEFT JOIN ShippersON Orders.ShipperID=Shippers.ShipperIDGROUP BY ShipperName;

GROUP BY 一个以上的列

我们也可以对一个以上的列应用 GROUP BY 语句,如下所示:

?


SELECT Shippers.ShipperName, Employees.LastName,COUNT(Orders.OrderID) AS NumberOfOrdersFROM ((OrdersINNER JOIN ShippersON Orders.ShipperID=Shippers.ShipperID)INNER JOIN EmployeesON Orders.EmployeeID=Employees.EmployeeID)GROUP BY ShipperName,LastName;

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP