首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当输入表中的类别数据不可用时,使用单元格中的group函数获取聚合计数,并获得0作为计数输出。

当输入表中的类别数据不可用时,使用单元格中的group函数获取聚合计数,并获得0作为计数输出。
EN

Stack Overflow用户
提问于 2019-10-04 16:40:58
回答 2查看 257关注 0票数 0

我有一个输入表,如下所示,并试图获得汇总计数:

桶/桶是固定的。这个例子有桶/桶-1到90,97,98。这些桶/桶需要计数。

每当输入表中的数据可用时,我就能够获得所有回收箱的计数。但是,当数据不可用时,它不会显示为零计数。

这里的任何帮助都是非常感谢的。提前谢谢。

示例:"97“值不出现在year=2015中。因此,它应该在输出表中有零计数。

我试过的代码:

从mrmg_atrib_monit_psi_db.ada_data_types_negative中选择' ada‘作为属性,年份,' 98’作为bin,计数为bin_count,其中ada=98

按年组合都选择' ada‘作为属性,' 97’作为bin,计数( bin_count )为bin_count,其中ada=97

按年组合都选择' ada‘作为属性,'1到90’作为bin,计算( mrmg_atrib_monit_psi_db.ada_data_types_negative )为bin_count,其中ada按年从1组到90组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-04 17:33:51

从mrmg_atrib_monit_psi_db.ada_data_types_negative中选择' ada‘作为属性,年份,' 98’作为bin,计数为bin_count,其中ada=98

按年组合都选择' ada‘作为属性,' 97’作为bin,和(在ada = 97的情况下,在1其他0结束时)从mrmg_atrib_monit_psi_db.ada_data_types_negative选择bin_count,其中ada=97

按年组合都选择' ada‘作为属性,'1到90’作为bin,计算( mrmg_atrib_monit_psi_db.ada_data_types_negative )为bin_count,其中ada按年从1组到90组。

解决方案:将select语句末尾的where函数替换为Sum(case)也有助于获得零计数

票数 0
EN

Stack Overflow用户

发布于 2019-10-04 16:45:48

所谓“预定义”,我想您的意思是您有一个bin定义表。然后可以使用cross join生成行,使用left join生成数据:

代码语言:javascript
复制
select y.year, b.bin, count(i.year) as cnt
from (select distinct year from input) y cross join
     bins b left join
     input i
     on i.year = y.year and i.ada between b.lo and b.hi
group by y.year, b.bin;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58240288

复制
相关文章

相似问题

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