要将BigQuery的结果展示在同一行上,可以使用SQL中的聚合函数和CASE语句来实现。以下是一个包含代码示例的解决方法:
假设有一个名为sample_table
的表,它包含id
和value
两列。我们的目标是将具有相同id
的记录的value
合并到同一行上。
SELECT id,
MAX(CASE WHEN row_number = 1 THEN value ELSE NULL END) AS value1,
MAX(CASE WHEN row_number = 2 THEN value ELSE NULL END) AS value2
FROM (
SELECT id, value,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY value) AS row_number
FROM `project.dataset.sample_table`
)
GROUP BY id
在上述代码中,我们使用了ROW_NUMBER()函数来为具有相同id
的记录分配一个行号。然后,我们使用CASE语句将不同行号的value
合并到同一行上。
请注意,project.dataset.sample_table
应替换为实际的项目、数据集和表名。另外,如果有更多的value
需要合并到同一行上,可以继续添加类似的MAX(CASE...)子句。