当我对一列求和时,我得到所有行汇总的结果。当我在此汇总列上分组时,我将返回多行。 有人可以解释发生了什么吗?是否会秘密地将所有行与相同的数据分组,然后将所有这些行首先汇总为单独的行?
表列数据为
9.75
2.25
8.25
8.25
7
8
5
10.5
5
10.5
10.5
10.25
10.5
10.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
1.5
5
1.75
0.5
5
5
0.5
1.5
5
1.75
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
5
5
0.5
1.75
5
5
0.5
5
10
10
10
10
5
0.5
5
5
0.5
1.75
5
1.5
0.5
5
5
0.5
5
5
0.5
NULL
我从“分组依据”列中获得的结果
Select Sum(column) as [column]
From Table
Group By column
(Result)
NULL
13.5
4.5
7
2.25
265
7
8
16.5
9.75
40
10.25
52.5
仅是总和的结果
Select Sum(column) as [column]
From Table
(result)
436.25
答案 0 :(得分:1)
count
, avg
, and sum
都是aggregate functions。它们采用一组行并将它们汇总在一起成为一个值。 count
给出行数,avg
给出它们的平均值,sum
总结它们。
默认情况下,所有行都聚合在一起。 group by
允许您将事物分成更多的组。 group by column
时,您说要将column
的所有具有相同值的行聚合在一起。因此,您将获得column
具有相同值的所有行的总和。
您还可以通过选择列和计数来查看。
select column, count(column), sum(column)
from table
group by column
您会发现sum(column)
是column
的{{1}}倍。例如。
count(column)