【问题标题】:BigQuery Subtract Counts of Two Tables?BigQuery 减去两个表的计数?
【发布时间】:2014-06-10 00:05:43
【问题描述】:

在 MySQL 中,我可以使用SELECT (SELECT COUNT(*) FROM table1) - (SELECT COUNT(*) FROM table2) 来获取两个表之间的计数差异。当我在 BigQuery 中尝试此操作时,我得到:Subselect not allowed in SELECT clause。如何在 BigQuery 中运行这样的查询?

【问题讨论】:

    标签: google-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
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多