我有此代码:
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