如何轻松列出BigQuery中的列

时间:2018-09-20 03:04:47

标签: sql google-bigquery

我在BigQuery中有一个包含许多列的表。 我想在选择查询中列出其列,但是列出所有列很困难。

我想这样做

sendmail

有什么方法可以轻松编写这样的查询吗?

2 个答案:

答案 0 :(得分:3)

以下是用于BigQuery标准SQL

SELECT * EXCEPT(col30), SOME_METHOD(col30)
FROM foo.bar  

SELECT * REPLACE(SOME_METHOD(col30) as col30)
FROM foo.bar  

例如

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 col1, 2 col2, 3 col3, 4 col4, 5 col5
)
SELECT * EXCEPT(col3), 2 * col3 AS col3
FROM `project.dataset.table`

有结果

Row col1    col2    col4    col5    col3     
1   1       2       4       5       6    

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 col1, 2 col2, 3 col3, 4 col4, 5 col5
)
SELECT * REPLACE(2 * col3 AS col3)
FROM `project.dataset.table`

有结果

Row col1    col2    col3    col4    col5     
1   1       2       6       4       5    

答案 1 :(得分:1)

这在Big Query中未经测试,但是在其他数据库(例如SQL Server)中可用的一个技巧是执行SELECT *,然后列出您要选择的其他项。因此,您可以尝试以下操作之一:

SELECT *, SOME_METHOD(col30) AS output
FROM yourTable;

SELECT SOME_METHOD(col30), * AS output
FROM yourTable;

请注意,根据您显式列出的其他内容,您可能最终使同一列(和名称)在结果集中出现多次。