sql - 如何进行涉及计数的总和
问题描述
我有以下查询,我在其中进行了 COUNT:
SELECT FECHAGENERACION, IDAPLICACION, COUNT(*) as NRO_REGISTROS
FROM ADMBLOQMON.BOC_MAEBLOQAUX_BLOQ_MONO WHERE fechageneracion between '01/12/20' AND '02/12/20' AND IDAPLICACION = 01
GROUP BY FECHAGENERACION, IDAPLICACION
ORDER BY 1,2;
这给了我以下结果:
01/12/20 01 62172
02/12/20 01 61812
我怎样才能使这个查询也给我计数 62172 和 61812 的总和?我很努力,请帮忙
解决方案
在 Oracle 中,您可以使用GROUPING SETS
:
SELECT FECHAGENERACION, IDAPLICACION, COUNT(*) as NRO_REGISTROS
FROM ADMBLOQMON.BOC_MAEBLOQAUX_BLOQ_MONO
WHERE fechageneracion between DATE '2020-01-12' AND DATE '2020-02-12' AND
IDAPLICACION = 01
GROUP BY GROUPING SETS ( (FECHAGENERACION, IDAPLICACION), () )
ORDER BY 1,2;
请注意,我使用标准 YYYY-MM-DD 格式修复了日期常量(我不得不猜测日期的含义,所以这可能是错误的)。我强烈建议对日期使用标准格式,这样本地设置就不会改变代码的含义(并且代码更具可读性)。
推荐阅读
- html - 车身造型无缘无故停在一个屏幕上
- spring-boot - When I do "mvn verify", I cannot get the spring-boot project to load the application properties
- sql - 自己的唯一约束还是作为主键?
- github - 如何从 Travis CI .org 克隆私有 GitHub 存储库
- nginx - 上游标头的 nginx 映射变为默认值
- sql - 最近在 Hadoop "state_geocode" 中添加了新列,该列从子字符串 (tax_geocode, 3, 3) 填充数据
- javascript - 如何更改定义为数组的变量而无需定义两次
- c - C 中的 isalpha() 函数不读取
- c - 对使用 malloc() 成功写入未分配内存感到困惑;
- angular - Angular 9:@angular/core/core"' 没有导出成员 'ɵɵFactoryDef'