我有一个包含2个存储字符串字段的数据集。 1.在SAS中,当我在数据集上执行nodupkey时,我得到了~200条记录。 2.在SQL中,当我执行SELECT DISTINCT / GROUP BY / PARTITION BY时,我得到~2000条记录。此SQL代码在AWS EMR服务器上托管的HIVE上运行。
我正在处理的数据集在某些字段的记录中为NULL。除了我在第1点和第2点中提到的内容外,我没有做任何其他事情。
我正在寻找解释为什么当我只进行一次简单的重复删除时,这两者之间存在巨大的不匹配。
答案 0 :(得分:2)
Distinct对select语句中的所有字段进行操作,数据库可能会将空值和空格视为不同。 SAS不会将空值和空白视为不同且仅基于BY语句中列出的变量的过滤器。