次のようなダミーデータが設定された単純なテーブルがあります。
|id|user|value|
---------------
1 John 2
2 Ted 1
3 John 4
4 Ted 2
次の 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
これにより、次のような結果が得られます。
|id|user|value|total|
---------------------
1 John 2 2
3 John 4 6
2 Ted 1 1
4 Ted 2 3
各ユーザーの最新の行のみを取得することは可能ですか? したがって、結果は次のようになります。
|id|user|value|total|
---------------------
3 John 4 6
4 Ted 2 3
私はこれを正しい方法で行っていますか?提案や従うべき新しい道は素晴らしいでしょう!