SQL计数按问题分组

时间:2018-09-07 19:05:10

标签: sql sas proc-sql

我有此代码:

PROC SQL;
    CREATE TABLE LIB.ONETOONE AS
        SELECT GCI_MRA, MRATempName, COUNT(DISTINCT CUSTOMERID) AS COUNT
        FROM LIB.MRA_FINAL
        GROUP BY GCI_MRA, MRATempName;
QUIT;

这适用于我的一个表,但是当我尝试在另一个表上使用完全相同的代码时,即使我仅在GCI_MRA和MRATempName上指定了group by,我也会在结果中输出customerID列,这是为什么情况?

谢谢!

输出示例如下(抱歉,不包括早期版本):

GCI_MRA     MRATempName     CustomerID  Count
Null        Null            111         5
Null        Null            222         3
Null        Null            333         8
123         ABCD            888         2

CustomerID不应出现在结果中,且计数实际上应为3,这是GID_MRA(空)+ MRATempName(空)分组中的CustomerID的三个不同的出现。但是,现在看来,它是对customerID每个值的数量的计数。

理想情况下,代码将(对于其他表也是如此)输出如下内容:

GCI_MRA      MRATempName      count
Null         Null             3
123          ABCD             1

0 个答案:

没有答案