首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL -使用子查询对正数和负数求和

问SQL -使用子查询对正数和负数求和
EN

Stack Overflow用户
提问于 2013-12-12 20:19:41
回答 6查看 47.4K关注 0票数 2

我有一个包含正数和负数的表。我必须使用子查询找出正负数之和

EN

回答 6

Stack Overflow用户

发布于 2013-12-12 20:45:10

您的问题不是很清楚(没有给出表或列名),也不清楚为什么需要一个子查询(如果可以避免的话,这永远不是一个好主意)。您可以通过使用'case‘语句获取所需的值

下面计算正值和负值的数量

代码语言:javascript
复制
select sum (case when acolumn >= 0 then 1 else 0 end) as positive,
       sum (case when acolumn < 0 then 1 else 0 end) as negative
from table

下面是正值和负值的数量之和

代码语言:javascript
复制
select sum (case when acolumn >= 0 then acolumn else 0 end) as positive,
       sum (case when acolumn < 0 then  acolumn else 0 end) as negative
from table
票数 15
EN

Stack Overflow用户

发布于 2013-12-12 20:23:12

对于负数的总和:

代码语言:javascript
复制
SELECT SUM(numberColumn) FROM tableFoo WHERE numberColumn < 0

对于正数的和:

代码语言:javascript
复制
SELECT SUM(numberColumn) FROM tableFoo WHERE numberColumn >= 0

要组合这两个查询(其中QUERY1和QUERY2是前面的两个查询):

代码语言:javascript
复制
SELECT (QUERY1), (QUERY2)
票数 6
EN

Stack Overflow用户

发布于 2018-05-14 14:32:49

代码语言:javascript
复制
select sum(case when a>=0 then a else 0 end) as positive,
sum(case when a<0 then a else 0 end) as negative
from a
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20543397

复制
相关文章

相似问题

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