首页 > 解决方案 > 列表中 ID 的大查询

问题描述

目前我知道如何使用 BigQuery Python API 从<company_warehouse>.<table>表单中进行查询

SELECT id, field1, field2, ...
FROM '<company_warehouse>.<table>'
WHERE field1==...

我想做的是执行上述查询,但添加一个限制,以仅搜索限制为我在 Python 中拥有的大量 ID (作为列表或熊猫系列)的总数据的子集。即,与添加子句相同WHERE id IN (id1,...,idn),但是这种方法对于非常大的n 效率低下。

这个问题有一些 SQL 答案建议使用内部连接,但答案不是用清晰可用的代码编写的(即使在其他 SQL DBMS 中也是如此)。如何在 BigQuery 中完成这项工作?

标签: pythonsqlgoogle-bigqueryinner-join

解决方案


你可以写:

    WHERE field1 = ... AND 
        id IN UNNEST(['id1', 'id2', 'id3', 'id4'])

推荐阅读