プレイヤーとそのスコアのテーブルがあります。累積合計を取得するためのクエリを作成できました。この累積合計をプレーヤーごとにグループ化するクエリが必要です。これにより、以前のプレーヤーの累積合計が含まれず、新しいプレーヤーの累積合計から開始されます。現在のクエリで得られる結果の例:
+--------+--------+-------+
| player | total | cumul |
+--------+--------+-------+
| Arne | 16 | 16 |
| Arne | -48 | -32 |
| Arne | 13 | -19 |
| Arne | -17 | -36 |
| Arne | 7 | -29 |
| Arne | 41 | 12 |
| Arne | -30 | -18 |
| Arne | -6 | -24 |
| Arne | 18 | -6 |
| Bjorg | -5 | -11 |
| Bjorg | 9 | -2 |
| Bjorg | -38 | -40 |
| Bjorg | -12 | -52 |
| Bjorg | 11 | -41 |
| Bjorg | 3 | -38 |
+--------+--------+-------+
どのように見えるか:
+--------+--------+-------+
| speler | total | cumul |
+--------+--------+-------+
| Arne | 16 | 16 |
| Arne | -48 | -32 |
| Arne | 13 | -19 |
| Arne | -17 | -36 |
| Arne | 7 | -29 |
| Arne | 41 | 12 |
| Arne | -30 | -18 |
| Arne | -6 | -24 |
| Arne | 18 | -6 |
| Bjorg | -5 | -5 |
| Bjorg | 9 | 4 |
| Bjorg | -38 | -34 |
| Bjorg | -12 | -46 |
| Bjorg | 11 | -35 |
| Bjorg | 3 | -32 |
+--------+--------+-------+
最初のテーブルの問題は、2 番目のプレーヤーが前のプレーヤーのクムルを使用して開始することです。プレイヤーを切り替えるには、クエリをどのように変更すればよいですか?
これが私のクエリです:
SELECT t.player,
t.total,
@running_total := @running_total + t.total AS cumul
FROM ( SELECT player, id, sum(punten) as total FROM `whiteboard_games`
WHERE 1 group by player, id) t
JOIN (SELECT @running_total := 0) table1
ORDER BY t.player, id
前もって感謝します!