Bất kỳ ý tưởng nào về cách tính tổng số chạy trong BigQuery SQL?Tổng số chạy SQL BigQuery
id value running total
-- ----- -------------
1 1 1
2 2 3
3 4 7
4 7 14
5 9 23
6 12 35
7 13 48
8 16 64
9 22 86
10 42 128
11 57 185
12 58 243
13 59 302
14 60 362
Không phải là một vấn đề đối với các máy chủ SQL truyền thống bằng cách sử dụng tương quan truy vấn vô hướng:
SELECT a.id, a.value, (SELECT SUM(b.value)
FROM RunTotalTestData b
WHERE b.id <= a.id)
FROM RunTotalTestData a
ORDER BY a.id;
hoặc tham gia:
SELECT a.id, a.value, SUM(b.Value)
FROM RunTotalTestData a,
RunTotalTestData b
WHERE b.id <= a.id
GROUP BY a.id, a.value
ORDER BY a.id;
Nhưng tôi không thể tìm thấy một cách để làm cho nó hoạt động trong BigQuery ...
cảm ơn rất nhiều, các truy vấn này hoạt động! – Sasa
2013 cập nhật: bạn có thể sử dụng hàm SUM() OVER() cho truy vấn đơn giản hơn http://stackoverflow.com/questions/14664578/bigquery-sql-running-totals/20480827#20480827 –