在BigQuery上创建表?

时间:2016-04-13 18:19:11

标签: sql google-bigquery

如何从另一个现有表创建BigQuery表?

例如,我有一张桌子:

col_1, col_2, val
...  , ...  , ...

我想创建一个新表:

CREATE TABLE new_table AS (
SELECT col_1, SUM(val) AS sum_val FROM old_table) WITH DATA;

但是,我不能先查询结果,然后保存结果,因为结果太大了。

3 个答案:

答案 0 :(得分:7)

您应该将SELECT与各自的目标参数一起使用

SELECT col_1, SUM(val) AS sum_val FROM old_table

如果您是在Web Ui中执行此操作 - 它们位于“kbd”>“显示选项”按钮下 enter image description here

如果您使用的是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位)。然后你可以直接插入。