Każdy pomysł, jak obliczyć sumę bieżącą w SQL BigQuery?Łącza SQL z BigQuery łącznie
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
Nie jest to problem dla tradycyjnych serwerów SQL przy użyciu skorelowanej zapytanie skalarnego:
SELECT a.id, a.value, (SELECT SUM(b.value)
FROM RunTotalTestData b
WHERE b.id <= a.id)
FROM RunTotalTestData a
ORDER BY a.id;
lub dołączenia:
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;
Ale nie mogłem znaleźć sposób, aby to działało w BigQuery ...
wielkie dzięki, te zapytania działają! – Sasa
Aktualizacja 2013: możesz użyć funkcji SUM() OVER() dla prostszego zapytania http://stackoverflow.com/questions/14664578/bigquery-sql-running-totals/20480827#20480827 –