- Learn T-SQL Querying
- Pedro Lopes Pam Lahoud
- 190字
- 2021-06-24 14:38:10
GROUP BY
GROUP BY aggregates the results on the required column names or expressions. Building on the same example from the ORDER BY section, we want to know the overall product quantity per product name and location, from the following code snippet. The Quantity column is using the aggregate function SUM. Therefore, the remaining columns need to be contained in the aggregation GROUP BY clause:
SELECT P.Name AS ProductName, SUM([PI].Quantity) AS Total_Quantity, L.Name AS LocationName
FROM Production.Product AS P
INNER JOIN Production.ProductInventory AS [PI] ON P.ProductID = [PI].ProductID
INNER JOIN Production.Location AS L ON [PI].LocationID = L.LocationID
WHERE P.Name LIKE 'Touring%'
GROUP BY P.Name, L.Name
ORDER BY P.Name DESC, L.Name DESC;
The following screenshot shows the results with one row per set as defined by the GROUP BY clause:

Aggregations can be further specified by using the following keywords:
- ROLLUP: Specifies the creation of subtotals and totals for the required column names or expressions.
- CUBE: Specifies the creation of subtotals and totals for all combinations of columns in the GROUP BY clause.
- GROUPING SETS: Allows the use of multiple GROUP BY clauses, such as using ROLLUP and CUBE together.
推薦閱讀
- Canvas LMS Course Design
- Design for the Future
- AutoCAD快速入門與工程制圖
- Getting Started with Oracle SOA B2B Integration:A Hands-On Tutorial
- JMAG電機電磁仿真分析與實例解析
- 統計策略搜索強化學習方法及應用
- Embedded Programming with Modern C++ Cookbook
- 21天學通Visual C++
- 3D Printing for Architects with MakerBot
- Apache Superset Quick Start Guide
- 單片機技術一學就會
- Deep Reinforcement Learning Hands-On
- 單片機C語言程序設計完全自學手冊
- Photoshop行業(yè)應用基礎
- 和機器人一起進化