首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解Sum(1) sum(2) sum(3)

了解Sum(1) sum(2) sum(3)
EN

Stack Overflow用户
提问于 2020-05-15 08:22:49
回答 2查看 6K关注 0票数 0

考虑下面的表,该表有一列,其中有10条记录。我不能理解为什么

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2020-05-15 08:24:47

嗯,sum(1)正如它所说的那样:sum()在表中的所有行中固定整数值1。您有10行,因此这将生成10 -换句话说,这就是1 * 10

同样的逻辑将sum(2)转换为20 (即2 * 10),依此类推。

至少可以说,这个查询的实际目的是什么还不清楚。

票数 4
EN

Stack Overflow用户

发布于 2020-05-15 08:25:59

嗯。。。我该怎么解释呢?让我们使用更少的行。您有一张表:

代码语言:javascript
复制
id
 1
 2
 3

然后,当你这样做的时候:

代码语言:javascript
复制
select sum(10)
from t

它真的在计算:

代码语言:javascript
复制
id      num
 1       10
 2       10
 3       10

因此,您得到了30。也就是说,“常量”应用于每一行的求和。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61809631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档