首页 > 解决方案 > SQL(特别是Oracle DB)中的“group by null”是什么意思?

问题描述

底线是我看到没有被分组的值。但是,当添加group by null重复项时,会合并并正确计算总和。

group by null解决重复是什么意思?

顺便说一句,我检查了结果中没有空值。

我有一些无法隔离到测试查询的查询 :( 但它看起来类似于下面的查询。

示例查询:

select
    a,
    sum(value) as s
from
    my_table
group by
    a;

结果:

a | s
-----
x | 3
x | 8

添加时group by null

select
    a,
    sum(value) as s
from
    my_table
group by
    a,
    null;

回复:

a | s
-----
x | 11

Oracle 版本是 Amazon 的 RDS ( select * from v$version):

BANNER                                           CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production          0
PL/SQL Release 12.1.0.2.0 - Production                            0
CORE    12.1.0.2.0  Production                                0
TNS for Linux: Version 12.1.0.2.0 - Production                        0
NLSRTL Version 12.1.0.2.0 - Production                            0

我不确定是否相关,但实际查询是分层的:select from (select ...) group by...它使用存储过程来计算值。

标签: sqloraclegroup-byaggregate-functions

解决方案


推荐阅读