如何使用big-query获取列C(bigquery表的结构是“id”,“收入”)
列C =每行收入的汇总值
1,5,5 2,3,8 3,1,9 4,2,11 5,0,11
答案 0 :(得分:1)
SELECT id, SUM(revenue) AS total_revenue
FROM YourTable
GROUP BY id
ORDER BY id;
如果您还想要所有id
值的收入总额,则可以使用GROUP BY ROLLUP。结果为id
的行包含所有id
的总计:
SELECT id, SUM(revenue) AS total_revenue
FROM YourTable
GROUP BY ROLLUP(id)
ORDER BY id;
编辑:对于累积总和,您可以使用分析函数。在这种情况下,它将是:
SELECT id, SUM(revenue) OVER (ORDER BY id) AS total_revenue
FROM YourTable
ORDER BY id;
答案 1 :(得分:0)
下面是BigQuery Standard SQL
#standardSQL
SELECT id, SUM(revenue) OVER(ORDER BY id) AS total_revenue
FROM `project.dataset.yourTable`
ORDER BY id
您可以使用以下虚拟数据来测试/播放
#standardSQL
WITH `project.dataset.yourTable` AS (
SELECT 1 id, 5 revenue UNION ALL
SELECT 2, 3 UNION ALL
SELECT 3, 1 UNION ALL
SELECT 4, 2 UNION ALL
SELECT 5, 0
)
SELECT id, SUM(revenue) OVER(ORDER BY id) AS total_revenue
FROM `project.dataset.yourTable`
ORDER BY id
输出
id total_revenue
1 5
2 8
3 9
4 11
5 11