مشخصات مقاله
-
4250
-
0.0
-
41307
-
0
-
0
آموزش دستور GROUP BY در SQL
آموزش دستور GROUP BY در SQL
توابع Aggregate غالباً با عبارت GROUP BY همراه می شوند.
عبارت GROUP BY
عبارت GROUP BY در ترکیب با توابع aggregate استفاده می شود تا نتیجه را بر اساس یک یا چند ستون گروه بندی کند.
فرم دستور GROUP BY
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;
نمونه استفاده از GROUP BY در پایگاه داده
در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد.
جدول زیر از میان جدول "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
Phone
1
Speedy Express
(503) 555-9831
2
United Package
(503) 555-3199
3
Federal Shipping
(503) 555-9931
و جدول زیر از میان جدول "Employees" انتخاب شده است:
EmployeeID
LastName
FirstName
BirthDate
Photo
Notes
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 زیر تعداد سفارشات را بر اساس گروه بندی شرکت های باربری می شمارد:
SELECT Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders LEFT JOIN Shippers ON Orders.ShipperID=Shippers.ShipperID GROUP BY ShipperName;
GROUP BY برای بیش از یک ستون
می توانیم عبارت GROUP BY را برای بیش از یک ستون استفاده کنیم، مانند زیر:
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;
1394/07/27
41307
4250
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com