BigQuery 减去两个表的计数?
Posted
技术标签:
【中文标题】BigQuery 减去两个表的计数?【英文标题】:BigQuery Subtract Counts of Two Tables? 【发布时间】:2014-06-10 00:05:43 【问题描述】:在 mysql 中,我可以使用SELECT (SELECT COUNT(*) FROM table1) - (SELECT COUNT(*) FROM table2)
来获取两个表之间的计数差异。当我在 BigQuery 中尝试此操作时,我得到:Subselect not allowed in SELECT clause
。如何在 BigQuery 中运行这样的查询?
【问题讨论】:
【参考方案1】:2019 年更新:
#standardSQL 现在支持原始问题语法
SELECT (SELECT COUNT(*) c FROM `publicdata.samples.natality`)
- (SELECT COUNT(*) c FROM `publicdata.samples.shakespeare`)
由于 SELECT 子句中不支持子选择,因此我会为此特定查询使用 CROSS JOIN:
SELECT a.c - b.c
FROM
(SELECT COUNT(*) c FROM [publicdata:samples.natality]) a
CROSS JOIN
(SELECT COUNT(*) c FROM [publicdata:samples.shakespeare]) b
【讨论】:
这就是我最终要做的,但它看起来比 MySQL 的方式丑得多。未来是否有计划支持 MySQL 方式? 您的投票就是我们的计划 :) code.google.com/p/google-bigquery/issues/…以上是关于BigQuery 减去两个表的计数?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 python 中的 bigquery API 将数据集中所有表的计数(*)发送到 csv 文件?
Google BigQuery:如何查询两个不同值之间的共享值计数?
python 使用两个Bruker元素定量输出文件,从另一个中减去一个的计数。