HANA计算视图COUNT记录数结果不一致

一种是直接COUNT计算视图记录数,另一种是先SELECT *后再COUNT,两种结果居然不一样,但实际记录数是后面的先SELECT *后再COUNT的结果,请问为何会出现如此情况,如何理解?

QQ图片20151230163139.png


QQ截图20120412101854.jpg


第一种直接COUNT:

SELECT count(*) FROM "_SYS_BIC"."tcl.zfi/ZCAV_BKPF_BSEG_OUT" ('PLACEHOLDER' = ('$$IP_HKONT$$', '6*'),

'PLACEHOLDER' = ('$$IP_BUDAT2$$', '20151230'), 'PLACEHOLDER' = ('$$IP_BUDAT1$$', '20150101'))

第二种写法:

select count(*) from (

SELECT * FROM "_SYS_BIC"."tcl.zfi/ZCAV_BKPF_BSEG_OUT" ('PLACEHOLDER' = ('$$IP_HKONT$$', '6*'),

'PLACEHOLDER' = ('$$IP_BUDAT2$$', '20151230'), 'PLACEHOLDER' = ('$$IP_BUDAT1$$', '20150101'))

)

参与9

4同行回答

pwf825pwf825软件开发工程师TV
计算视图是显示全部

计算视图是

QQ图片20151230163717.png


收起
软件开发 · 2015-12-30
浏览2021
start2000start2000系统架构师ABB
这个情况的确会出现显示全部

这个情况的确会出现

收起
互联网服务 · 2017-01-18
浏览1908
pwf825pwf825软件开发工程师TV
经过反复测试,两种的处理结果确实是不一样的,对于第一种直接COUNT计算视图,实际是COUNT计算视图中各表参与计算的条数,所以统计数量较多;而第二种是对计算视图结果集的COUNT,就是对做完聚合后的结果集统计,是最终的结果数量;这两个的统计对象不一样,所以统计结果也就自然不一样了;...显示全部

经过反复测试,两种的处理结果确实是不一样的,对于第一种直接COUNT计算视图,实际是COUNT计算视图中各表参与计算的条数,所以统计数量较多;而第二种是对计算视图结果集的COUNT,就是对做完聚合后的结果集统计,是最终的结果数量;这两个的统计对象不一样,所以统计结果也就自然不一样了;

收起
软件开发 · 2016-03-22
浏览1951
lanTechlanTechit技术咨询顾问lanTech
将下面的两个aggregation换成projection再试试。显示全部

将下面的两个aggregation换成projection再试试。

收起
电信运营商 · 2016-01-16
浏览2009
  • 换成Projection一样的结果,应该是聚合动作时有重复数据,聚合后会自动去除重复性,如果直接COUNT,就是统计了所有行,所以查询的结果数量是真实结果的倍数级
    2016-02-18

提问者

pwf825
软件开发工程师TV

问题状态

  • 发布时间:2015-12-30
  • 关注会员:3 人
  • 问题浏览:4729
  • 最近回答:2017-01-18
  • X社区推广