ORACLE两个聚合分组和多个聚合分组结果不一致。在线求解!!!
CREATE TABLE TEST_AA AS
SELECT DATE'&ENDDATE' AS CLOSEDATE,
M.STARTDATE,
M.COMCODE,
M.RISKCODE,
M.BUSINESSNATURE,
SUM(M.ORIG_COUNT) AS ORIG_COUNT,
SUM(M.ORIG_PREMIUM) AS ORIG_PREMIUM,
SUM(M.ORIG_AMOUNT) AS ORIG_AMOUNT,
SUM(M.ENDO_COUNT) AS ENDO_COUNT,
SUM(M.ENDO_PREMIUM) AS ENDO_PREMIUM,
SUM(M.ENDO_AMOUNT) AS ENDO_AMOUNT,
SUM(M.CANC_COUNT) AS CANC_COUNT,
SUM(M.CANC_PREMIUM) AS CANC_PREMIUM,
SUM(M.CANC_AMOUNT) AS CANC_AMOUNT,
SUM(M.EXIT_COUNT) AS EXIT_COUNT,
SUM(M.EXIT_PREMIUM) AS EXIT_PREMIUM,
SUM(M.EXIT_AMOUNT) AS EXIT_AMOUNT
FROM OLAP_POLICY_DAY M
WHERE M.STATDATE<=DATE'&ENDDATE'
GROUP BY DATE'&ENDDATE',
M.STARTDATE,
M.COMCODE,
M.RISKCODE,
M.BUSINESSNATURE
;
SELECT SUM(ORIG_PREMIUM+ENDO_PREMIUM) PREMIUM FROM TEST_AA
;
-----查出来的值为:975283171.03
CREATE TABLE TEST_BB AS
SELECT DATE'&ENDDATE' AS CLOSEDATE,
M.STARTDATE,
M.COMCODE,
M.RISKCODE,
M.BUSINESSNATURE,
SUM(M.ORIG_PREMIUM) AS ORIG_PREMIUM,
SUM(M.ENDO_PREMIUM) AS ENDO_PREMIUM
FROM OLAP_POLICY_DAY M
WHERE M.STATDATE<=DATE'&ENDDATE'
GROUP BY DATE'&ENDDATE',
M.STARTDATE,
M.COMCODE,
M.RISKCODE,
M.BUSINESSNATURE
;
SELECT SUM(ORIG_PREMIUM+ENDO_PREMIUM) PREMIUM FROM TEST_BB
;
----查出来的值为:975393554.5
两个值为什么会不一样呢?
难道是ORACLE计算时如果两个相同的全少算一个?
数据库是10G
请大侠解答。。。。。。。。。。。。。。