我在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
答案 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是否长度相同 - 我最初的假设是关于空间 - 但它可以是任何其他字符,包括不可打印的