首页 > 解决方案 > 如何在 BigQuery 中按表通配符删除分区并按字符串排序

问题描述

我在数据集中有一些名称相似的表,可以通过通配符将其合并 在此处输入图像描述

我想汇总这些表中的所有数据并按stage_num 我的预期输出对每个组进行排序必须是这样的 在此处输入图像描述

我运行查询:

SELECT DISTINCT source, code, stage_num FROM atv3.myproject.table_* ORDER BY source, stage_num 但是查询返回由现有表分区且没有全局排序的结果

在此处输入图像描述

我尝试了PARTITON BY声明,但结果似乎在每个表内都进行了分区。我做错了什么并努力解决它?

标签: google-bigquery

解决方案


我已经复制了你的表,但我不确定为什么你的查询结果未排序 stage_num,因为它对我来说似乎工作正常。那是完整的查询吗?

但是,该查询未对代码进行排序。为了让结果也按代码分组,我运行了这个查询

SELECT DISTINCT source, code, stage_num FROM table_* ORDER BY source, code, CAST(stage_num as INT64)

让我知道,以防它不适合你。


推荐阅读