如何从另一个现有表创建BigQuery表?
例如,我有一张桌子:
col_1, col_2, val
... , ... , ...
我想创建一个新表:
CREATE TABLE new_table AS (
SELECT col_1, SUM(val) AS sum_val FROM old_table) WITH DATA;
但是,我不能先查询结果,然后保存结果,因为结果太大了。
答案 0 :(得分:7)
您应该将SELECT与各自的目标参数一起使用
SELECT col_1, SUM(val) AS sum_val FROM old_table
如果您是在Web Ui中执行此操作 - 它们位于“kbd”>“显示选项”按钮下
如果您使用的是API,请检查configuration.query各个属性
答案 1 :(得分:0)
另一种将现有Big查询表复制到新表的方法,只需执行
select * from [source_tbl_name]
运行它,在右侧上方,您可以找到 "另存为表格" 按钮。
单击它并提供新的表名。您的表格将被创建。
我用它来从我更大的数据集中进行采样以进行测试。
希望这会有所帮助。
答案 2 :(得分:-4)
你做不了类似的事情:
CREATE TABLE new_table AS
(SELECT col_1, SUM(val) AS sum_val
FROM old_table
GROUP BY something
WHERE 1 > 2
);
INSERT INTO new_table
(SELECT col_1
, SUM(val) AS sum_val
FROM old_table
GROUP BY something
);
(我注意到你在没有GROUP BY的情况下进行求和,所以我为你修了那个位(有点)。)
CREATE TABLE仅创建结构(由于1> 2位)。然后你可以直接插入。