我在BigQuery中有一个包含许多列的表。 我想在选择查询中列出其列,但是列出所有列很困难。
我想这样做
sendmail
有什么方法可以轻松编写这样的查询吗?
答案 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;
请注意,根据您显式列出的其他内容,您可能最终使同一列(和名称)在结果集中出现多次。