首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同一表中的计数之和

同一表中的计数之和
EN

Stack Overflow用户
提问于 2014-06-04 15:28:58
回答 2查看 1.2K关注 0票数 1

我在做很多我想在桌子上显示的计数。我想在同一张表上显示所有计数的总和。

这是我得到的(简化-我有6个计数):

选择* FROM (选择COUNT()作为NB_book 以a1、元雪崩为m1、元雪崩为m12、 ( m1.field_id = 64 )(因为我需要该领域存在) 成本-转轨成本- m2.field_id = 66 成品率、成本税、工业品价格和m2。=帐簿 再转轨制和a1.in_archive =真 (选择计数()作为NB_toys ) 如m1,元雪崩为m12, ( m1.field_id = 64 )(因为我需要该领域存在) 成本-转轨成本- m2.field_id = 66 成品率、成本税、工业品价格和m2。=玩具 再转轨制和a1.in_archive =真 )

现在,我想让显示器像

|NB_book _ NB_Toys _ total_object _x

自愿

EN

回答 2

Stack Overflow用户

发布于 2014-06-04 15:53:24

你想要的东西是:

代码语言:javascript
运行
复制
SELECT
    sum(CASE WHEN condition_1 THEN 1 END) AS firstcount,
    sum(CASE WHEN condition_2 THEN 1 END) AS secondcount,
    sum(thecolumn) AS total
FROM ...

您的示例查询太模糊,无法构造可用的内容,但这将给您提供一个想法。上面的条件可以是任何布尔表达式。

如果您愿意,可以使用NULLIF而不是CASE WHEN ... THEN ... END。我更喜欢坚持标准的CASE

票数 1
EN

Stack Overflow用户

发布于 2014-06-04 16:00:44

很难弄清楚你到底想要什么。您可以运行完全不同的查询,每个查询都返回一个一行结果,并将结果组合如下:

代码语言:javascript
运行
复制
select 
   (select count(*) from pgbench_accounts) as count1, 
   (select count(*) from pgbench_tellers) as count2 ;

但也许你不该这么做。相反,只需单独运行每个查询,并使用客户端而不是数据库引擎来格式化结果。

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

https://stackoverflow.com/questions/24041580

复制
相关文章

相似问题

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