2017-03-07 1 views
0

Ich versuche, eine laufende Summe für die Anzahl der Verkäufe pro Actual_Sale_Date in meiner Tabelle für das Jahr 2015 zu bekommen, aber bisher waren alle meine Versuche zwecklos. Ich habe mir den angehängten Link angeschaut und den Prozess emuliert, aber ohne Gewinn. Kann hier bitte jemand helfen?Fügen Sie eine laufende Summe/kumulative Spalte hinzu

Calculating Cumulative Sum in PostgreSQL

select Actual_Sale_Date, extract(week from Actual_Sale_Date) as week_number, 
count(*) from mytable 
where extract(year from Actual_Sale_Date) = 2015 

Ergebnis: (Angeforderte Running_Total)

Actual_Sale_Date   week_number   count   running_total 
2015-01-04 00:00:00   1     1     1 
2015-01-06 00:00:00   2     3     4 
2015-01-08 00:00:00   2     4     8 
2015-01-09 00:00:00   2     5     13 
2015-01-11 00:00:00   2     1     14 
2015-01-15 00:00:00   3     2     16 
2015-01-21 00:00:00   4     1     17 
2015-01-23 00:00:00   4     4     21 
2015-01-24 00:00:00   4     1     22 
2015-01-26 00:00:00   5     2     24 
+0

Ich würde diese Tabelle Alias ​​und dann mit einer Unterabfrage etwas tun, das Summen zählen bis zum Verkaufsdatum für diese Zeile. – Denziloe

Antwort

3

Verwenden Sie einfach Fensterfunktionen:

select Actual_Sale_Date, extract(week from Actual_Sale_Date) as week_number, 
     count(*), 
     sum(count(*)) over (order by Actual_Sale_Date) 
from ?? 
where extract(year from Actual_Sale_Date) = 2015 
group by Actual_Sale_Date, extract(week from Actual_Sale_Date); 
Verwandte Themen