google-bigquery - “CLUSTER BY 表达式必须是可分组的,但类型是 STRUCT”错误
问题描述
我使用 Web UI 创建了一个表格,如下所示:
create table `project.dataset.test3` as (select 123 as id, 456 as offer_id)
我想从以前创建的表中创建一个聚集表,所以我尝试:
create table `project.dataset.test4` partition by (fake_date)
cluster by (id, offer_id) as (
SELECT current_timestamp() fake_date, id, offer_id
FROM `project.dataset.test3`
group by 1,2,3)
但我收到错误消息:
CLUSTER BY expression must be groupable, but type is STRUCT at [2:12]
我搜索了文档,但无法深入了解此错误消息或制定任何解决方法。有任何想法吗?
解决方案
将括号放在两个或多个逗号分隔的表达式周围会创建一个结构,并且在您提供的语句中,您有:
cluster by (id, offer_id)
如果删除括号,则该语句应该成功:
cluster by id, offer_id
推荐阅读
- flutter - 从动态地图中提取数据
- javascript - 将 Gmail 数据解析为电子表格会创建多行而不是一行
- javascript - 在按钮组件上添加 OnClick
- angular - 错误:找不到控件和错误:NG0100:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改
- linux - 在映射区域时,根据`MAP_HASSEMAPHORE`,OSX(和旧 BSD)需要做什么“特殊处理”?
- html - Box-shadow 正在从图像中截断
- python - 如何在欧拉角的帮助下使用 Scipy Rotation 在坐标系之间转换方向?
- qt - 防止 MouseArea 捕捉子矩形内的点击
- javascript - Webpack Build SyntaxError: Unexpected token )
- c - c中客户端-服务器模型中的文件夹传输