GROUP BY如何运作?

App*_*rew 37 sql oracle

假设我有一个表Tab1与属性- a1,a2属性,...等等都不是唯一的.

以下查询的性质是什么?它会一直返回一行吗?

SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
Run Code Online (Sandbox Code Playgroud)

Mik*_*lov 59

GROUP BY为每个唯一的GROUP BY字段组合返回一行.因此,在您的示例中,查询中一行中的结果行中(a1, a2)出现的每个不同组合都Tab1表示具有给定组合字段值的行组.像这样的聚合函数SUM()是通过每个组的成员计算的.


Mar*_*tta 14

GROUP BYGROUP BY子句中的每个唯一字段组合返回一行.为了确保只有一排,你将不得不使用聚合函数- ,,COUNT -没有一个条款.SUMMAXGROUP BY


小智 7

GROUP BY 将所有相同的记录分组.

SELECT COUNT(ItemID), City
FROM Orders
GROUP BY City;

----------------------------------------
13  Sacrmento
23  Dallas
87  Los Angeles
5   Phoenix
Run Code Online (Sandbox Code Playgroud)

如果你没有分组,City它只会显示总数ItemID.