无论是什么数据库,select count(*) from table 之后,查询语句返回的结果总是包含一个行,即使结果为 0。
可以通过调用 result()
方法并使用 next()
函数获取结果集中的第一行,然后从该行中提取出件数。
from google.cloud import bigquery
# 创建 bigquery 客户端
client = bigquery.Client()
# 构造查询
query = """
SELECT COUNT(*)
FROM `project_id.dataset_id.table_id`
"""
# 执行查询
query_job = client.query(query)
# 获取结果
result = query_job.result()
# 获取件数
counts = next(result)[0]