Google bigquery 如何组合大量表的聚合结果?

Google bigquery 如何组合大量表的聚合结果?,google-bigquery,Google Bigquery,我有许多具有以下名称的表: datasetW01.W01*,datasetW02.W02*~100 如何优化下面的SQL #standardSQL WITH result1 AS ( SELECT Col1, COUNT(Col1) AS count FROM `dataset.W01_*` GROUP BY Col1 ), result2 AS ( SELECT Col1, COUNT(Col1) AS count FROM `dataset.W02_*` GROUP

我有许多具有以下名称的表:

datasetW01.W01*
datasetW02.W02*
~100

如何优化下面的SQL

#standardSQL
WITH result1 AS (
  SELECT Col1, COUNT(Col1) AS count
  FROM `dataset.W01_*`
  GROUP BY Col1
), result2 AS (
  SELECT Col1, COUNT(Col1) AS count
  FROM `dataset.W02_*`
  GROUP BY Col1
)
SELECT col1, GREATEST(IFNULL(t1.count, t2.count), IFNULL(t2.count, t1.count)) count
FROM result1 t1 
FULL OUTER JOIN result2 t2
USING (col1)
ORDER BY count DESC

对于仅使用一个查询的datasetW01.W01、datasetW02.W02、datasetW03.W03、datasetW04.W04、datasetW05.W05等?

您有多少行?现在需要多长时间?我对OP问题的理解是,它与性能无关,而与如何编写一个查询有关,该查询将处理100个数据集(不仅仅是100个表-这是通过使用通配符来处理的)-因此无需重复resultN表达式100次。对于这样的数据集名称,我不能使用通配符。是的,这就是问题所在。数据集没有通配符功能:o(您可能想提交功能请求?与其等待实现,不如重新生成具有不同名称结构的表。您有多少行?现在需要多长时间?我对OP问题的理解是,这与性能无关,而与如何编写一个查询来处理100个数据集有关(不仅仅是100个表-这是通过使用通配符来实现的)-因此无需重复resultN表达式100次。对于这样的数据集名称,我不能使用通配符。是的,这就是问题所在。数据集没有通配符功能:o(您可能想提交功能请求?我不是等待实现,而是用不同的名称结构重新生成了表。)