T-SQL używający SUM do bieżącej sumy

Mam prostą tabelę z fałszywymi ustawieniami danych, takimi jak:

|id|user|value|
---------------
 1  John   2
 2  Ted    1
 3  John   4
 4  Ted    2

Mogę wybrać bieżącą sumę, wykonując następującą instrukcję sql (MSSQL 2008):

SELECT a.id, a.user, a.value, SUM(b.value) AS total
FROM table a INNER JOIN table b
ON a.id >= b.id
AND a.user = b.user
GROUP BY a.id, a.user, a.value
ORDER BY a.id

To da mi wyniki takie jak:

|id|user|value|total|
---------------------
 1  John   2     2
 3  John   4     6
 2  Ted    1     1
 4  Ted    2     3

Czy teraz można pobierać tylko ostatnie wiersze dla każdego użytkownika? Tak więc wynik byłby:

|id|user|value|total|
---------------------
 3  John   4     6
 4  Ted    2     3

Czy zamierzam to robić we właściwy sposób? wszelkie sugestie lub nowa ścieżka do naśladowania byłyby świetne!

questionAnswers(5)

yourAnswerToTheQuestion