Select Google BigQuery 中除某些列之外的所有列?
Select All Columns Except Some in Google BigQuery?
有没有办法在 BigQuery 中 Select * 除了 [x,y,z 列名]?我看到了 MySQL 的一些解决方案,但不确定它是否适用于 BQ。
谢谢。
当前的 BigQuery SQL 方言中没有任何内容允许它。但由于这是重复请求,我们已添加工作项以支持
SELECT * EXCEPT (a, b, c) FROM ...
更新:此功能现已在 BigQuery 标准 SQL 中可用。详细信息在 https://cloud.google.com/bigquery/sql-reference/enabling-standard-sql
使用 public 维基百科的示例 table - select 除标题和评论外的所有列:
select * except(title, comment) from publicdata.samples.wikipedia limit 10
除了 SELECT * EXCEPT()
syntax there is a 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;
有没有办法在 BigQuery 中 Select * 除了 [x,y,z 列名]?我看到了 MySQL 的一些解决方案,但不确定它是否适用于 BQ。
谢谢。
当前的 BigQuery SQL 方言中没有任何内容允许它。但由于这是重复请求,我们已添加工作项以支持
SELECT * EXCEPT (a, b, c) FROM ...
更新:此功能现已在 BigQuery 标准 SQL 中可用。详细信息在 https://cloud.google.com/bigquery/sql-reference/enabling-standard-sql 使用 public 维基百科的示例 table - select 除标题和评论外的所有列:
select * except(title, comment) from publicdata.samples.wikipedia limit 10
除了 SELECT * EXCEPT()
syntax there is a 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;