BigQuery GROUP BY函数仍显示重复项

时间:2017-08-25 20:31:01

标签: sql duplicates google-bigquery

我在BigQuery中进行查询:

SELECT id FROM [table] WHERE  city = 'New York City' GROUP BY id

奇怪的部分是它显示重复的ID,通常紧挨着彼此。 ids本身之间绝对没有什么不同。总共约有300万行,约为500k ID。所以有很多重复,但这是设计的。我们认为过滤很容易消除,但发现总数存在差异。

有没有理由BigQuery的GROUP BY功能不正常?值得一提的是,数据集有大约300万行。

重复ID的示例:

56abdb5b9a75d90003001df6
56abdb5b9a75d90003001df6

1 个答案:

答案 0 :(得分:3)

唯一的解释是你的身份证是STRING,实际上这两个ids是不同的,因为之前的空格或者很可能是在眼睛“可见”之后

  

我建议您调整查询,如下所示

SELECT REPLACE(id, ' ', '') 
FROM [table] 
WHERE city = 'New York City' 
GROUP BY 1  

排除故障的另一个选项是

SELECT id, LENGTH(id)
FROM [table] 
WHERE city = 'New York City' 
GROUP BY 1, 2    

所以你可以看到那些id是否长度相同 - 我最初的假设是关于空间 - 但它可以是任何其他字符,包括不可打印的