Reason for my vote of 3
I previously voted this a 2, but upon further reflection he is right that this will do a running total...The query example is simply poorly defined in my opinion and lacks the explanation that this works well only when you have one aggregate that you want to return without condtional filters.
Reason for my vote of 2
This is a triangular join and is very resource intensive. You are also not guaranteed order of the sum operation as SQL pulls the data. This kind of query would choke a large data set.
the results is not matching with anything, i was thinking that this will show me by example in a list of invoices, the amount for the first plus the same value in first row, in second row, the total of the second invoice plus the value of the first invoice and so on: 120, 120 -> 100, 220 -> 15, 235 -> etc.