如何创建统计多表唯一ID并显示来源表的结果表?
解决方案
你只需要在每个SELECT语句中添加一个常量列来指定来源表的标识,就能得到包含Origin和Number的结果表。修改后的代码如下:
CREATE TABLE MyProject.New_Table AS ( SELECT 'Table1' AS Origin, COUNT(DISTINCT Id) AS Number FROM `MyProject.Table1` UNION ALL SELECT 'Table2' AS Origin, COUNT(DISTINCT Id) AS Number FROM `MyProject.Table2` UNION ALL SELECT 'Table3' AS Origin, COUNT(DISTINCT Id) AS Number FROM `MyProject.Table3` ) ORDER BY Number DESC
关键说明:
- 每个子查询中新增
'TableX' AS Origin,手动指定当前统计的来源表名称,UNION ALL合并后会保留每个计数对应的来源信息。 - 将原代码中的单引号
'替换为BigQuery标准的反引号`包裹表名,避免语法错误。 - 最终生成的
New_Table会包含Origin(来源表名)和Number(唯一ID数量)两列,并按数量降序排列。
内容的提问来源于stack exchange,提问作者Sean Wyatt
相关产品推荐
相关产品推荐

