首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在BigQuery中创建临时表

如何在BigQuery中创建临时表
EN

Stack Overflow用户
提问于 2013-12-19 13:19:10
回答 7查看 76K关注 0票数 47

有没有办法通过以下方式在谷歌BigQuery中创建临时表:

代码语言:javascript
复制
SELECT * INTO <temp table> 
FROM <table name> 

和我们可以在SQL中创建的一样吗?

对于复杂的查询,我需要创建临时表来存储数据。

EN

回答 7

Stack Overflow用户

发布于 2018-05-08 14:47:12

2018更新-使用DDL的明确答案

有了BigQuery的DDL支持,您可以从查询结果创建表,并在创建时指定其过期时间。例如,对于3天:

代码语言:javascript
复制
#standardSQL
CREATE TABLE `fh-bigquery.public_dump.vtemp`
OPTIONS(
  expiration_timestamp=TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 3 DAY)
) AS
SELECT corpus, COUNT(*) c
FROM `bigquery-public-data.samples.shakespeare`
GROUP BY corpus

https://cloud.google.com/bigquery/docs/data-definition-language

  • 文档
票数 28
EN

Stack Overflow用户

发布于 2013-12-19 14:05:36

2019更新-使用BigQuery scripting (测试版),CREATE TEMP TABLE正式支持。请参阅公共文档here

2018更新:

bigquery中的每个查询都会创建一个包含结果的临时表。临时的,除非您为目标表指定了名称,否则您可以控制它的生命周期。

使用api查看临时表名称,或在查询时命名您的表。

票数 20
EN

Stack Overflow用户

发布于 2016-07-01 23:54:43

可以在"New Standard SQL"中使用WITH创建临时表。参见WITH clause

谷歌给出了一个例子:

代码语言:javascript
复制
WITH subQ1 AS (SELECT SchoolID FROM Roster),
     subQ2 AS (SELECT OpponentID FROM PlayerStats)
SELECT * FROM subQ1
UNION ALL
SELECT * FROM subQ2;
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20673986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档