在Google BigQuery中选择除“部分”之外的所有列?

时间:2015-12-03 01:49:54

标签: google-bigquery

有没有办法选择*除了BigQuery中的[x,y,z列名]?我看到MySQL的一些解决方案,但不确定它是否适用于BQ。

谢谢。

2 个答案:

答案 0 :(得分:46)

当前的BigQuery SQL方言中没有任何内容可以允许它。但由于这是经常性的请求,我们已添加工作项以支持

SELECT * EXCEPT (a, b, c) FROM ...

更新:此功能现在可在BigQuery标准SQL中使用。详情https://cloud.google.com/bigquery/sql-reference/enabling-standard-sql 使用公共维基百科表的示例 - 选择除标题和注释之外的所有列:

select * except(title, comment) from publicdata.samples.wikipedia limit 10

答案 1 :(得分:4)

除了SELECT * EXCEPT()语法之外,还有一个SELECT * REPLACE()语法 - 两者都支持引入标准SQL 根据文档

,用法简单明了

不太明显的是,你可以在同一SELECT中同时使用它们,如下例所示

WITH orders AS
  (SELECT 5 as order_id,
  "sprocket" as item_name,
  200 as quantity)
SELECT * EXCEPT (order_id) REPLACE ("widget" AS item_name), "more" as more_fields
FROM orders;