如果我做的话
select * from table where ID = 1234
我得到2条记录。
如果我运行此查询
select count(*) from table where ID = 1234
我的计数值为1.
有没有人经历过类似的事情?
现在,我不知道哪个答案是正确的...我在系统中有1条记录还是2条记录?
答案 0 :(得分:1)
如果您的表具有id = 1234的一行,则此方案是可行的,但此行中包含两个值的重复字段。
BigQuery自动展平查询结果 所以下面选择只是展平结果,这就是为什么你看到两行
SELECT * FROM table WHERE ID = 1234
而下面的第二个语句只计算行数,这只是一个
SELECT COUNT(*) FROM table WHERE ID = 1234
请参阅下面重新解决案例的真实示例
SELECT * FROM [publicdata:samples.trigrams]
WHERE ngram = 'to carry more'
上面的返回241行,而下面只显示1(一)。
SELECT COUNT(*) FROM [publicdata:samples.trigrams]
WHERE ngram = 'to carry more'
这是我对你发生的事情的猜测。为了确定 - 请提供您的表格的架构,也许还有一些数据示例
您可以阅读有关扁平化here
的更多信息