GROUP BY如何运作? [英] How does GROUP BY work?
问题描述
假设我有一个表Tab1
,该表具有属性-a1
,a2
,...等.所有属性都不是唯一的.
Suppose I have a table Tab1
with attributes - a1
, a2
, ... etc. None of the attributes are unique.
以下查询的性质是什么?它会始终返回单行吗?
What will be the nature of the following query? Will it return a single row always?
SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
推荐答案
GROUP BY
为GROUP BY
字段的每个唯一组合返回一行.因此,在您的示例中,出现在Tab1
行中的每个(a1, a2)
不同组合都会导致查询中的一行代表具有给定group by字段值组合的行组.像SUM()
这样的聚合函数是在每个组的成员上计算的.
GROUP BY
returns a single row for each unique combination of the GROUP BY
fields. So in your example, every distinct combination of (a1, a2)
occurring in rows of Tab1
results in a row in the query representing the group of rows with the given combination of group by field values . Aggregate functions like SUM()
are computed over the members of each group.
这篇关于GROUP BY如何运作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!