运行以下查询,我得到的输出超过10行。当我改变" LIMIT 10"条款到" LIMIT 0" ,我得到空的结果。 从BigQuery
中返回值中提取10个结果的正确方法是什么SELECT
UNIQUE(index) AS sample
FROM
[dataset:table]
LIMIT 10
结果是79318行。
感谢, eilalan
答案 0 :(得分:2)
很可能你的表有重复的字段,因此当你使用BigQuery Legacy SQL它会返回10行但是在UI中它们被展平,重复字段中的所有元素都显示为一行,因此你会看到超过10行/> 要看到这一点 - 只使用BigQuery Standard SQL,它不会使结果变平,而是以分层方式在UI中显示
所以,取决于你需要什么 - 如果你需要原始的10行 - 你已经拥有它们,它们只是在UI中为你扁平化(参见上面的解释)。如果您需要从展平结果中获得10行,则需要首先FLATTEN
但最好的方法就是使用BigQuery Standard SQL(如果索引只是单个重复字段(不是记录)
SELECT DISTINCT sample
FROM `dataset.table`, UNNEST(index) sample
LIMIT 10
如果索引是重复记录 - 您应该在该记录中指定字段(例如id)
SELECT DISTINCT sample.id
FROM `dataset.table`, UNNEST(index) sample
LIMIT 10