计算同一数据集中多个表的用户数

时间:2017-06-22 10:47:46

标签: sql google-bigquery legacy-sql

我在 Google Bigquery 的同一数据集中有以下四个数据表:

enter image description here

我需要从这四个表中计算用户数,并将信息组织到这样的表中:

enter image description here

以下查询此时返回所有现有表的<projectID>:<dataset>.<tableID>路径:

SELECT CONCAT(project_id, ':', dataset_id, '.', table_id) AS paths, 
FROM [<projectID>:<dataset>.__TABLES__] 
WHERE MSEC_TO_TIMESTAMP(creation_time)  < DATE_ADD(CURRENT_TIMESTAMP(), 0, 'DAY') 

如何在以前的所有路径中迭代Google Bigquery中的计数?

1 个答案:

答案 0 :(得分:4)

Wildcard tables应该通过拉出_TABLE_SUFFIX保留列来完成这一操作,例如

#standardsql
SELECT
  COUNT(*) AS lazy_count,
  _TABLE_SUFFIX AS table
FROM
  `bigquery-public-data.noaa_gsod.*`
GROUP BY
  table

enter image description here

注意:我不确定你在做什么,所以我只是使用了懒惰的COUNT(*)。您只需将其更改为您需要的任何列。