理解 Sum(1) sum(2) sum(3) [关闭]
Posted
技术标签:
【中文标题】理解 Sum(1) sum(2) sum(3) [关闭]【英文标题】:Understanding Sum(1) sum(2) sum(3) [closed] 【发布时间】:2020-08-31 17:05:26 【问题描述】:考虑下面的表格,其中一列有 10 条记录。 我无法理解如何
SUM(1) gives output 10
SUM(2) gives output 20
SUM(3) gives output 30
create table test_a4(idCol numeric);
insert into test_a4(idCol) values (1),(2), (3), (4), (5) , (6), (7), (8), (9) , (10)
Select SUM(1) FROM test_a4 -- SUM(1) gives output 10
Select SUM(2) FROM test_a4 -- SUM(2) gives output 20
Select SUM(3) FROM test_a4 -- SUM(3) gives output 30
【问题讨论】:
您正在对文字数字求和,每行一次。因此,将总和中的数字乘以 10。即 sum(3) = 3 * 10。你希望它做什么? 【参考方案1】:好吧,sum(1)
就像它所说的那样:sum()
固定整数值1
跨越表中的所有行。你有 10 行,所以这会产生 10
- 换句话说,这是 1 * 10
。
同样的逻辑将sum(2)
变为20
(即2 * 10
),以此类推。
至少可以说,这个查询的实际意图是什么还不清楚。
【讨论】:
【参考方案2】:嗯。 . .我该如何解释?让我们使用更少的行。你有一张桌子:
id
1
2
3
那么当你这样做时:
select sum(10)
from t
真是算计:
id num
1 10
2 10
3 10
因此,您会得到30
。也就是说,“常数”应用于被求和的每一行。
【讨论】:
以上是关于理解 Sum(1) sum(2) sum(3) [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
深入理解 Go Modules 的 go.mod 与 go.sum