次の構造のテーブルがあります。
timestamp | name | value
0 | john | 5
1 | NULL | 3
8 | NULL | 12
12 | john | 3
33 | NULL | 4
54 | pete | 1
180 | NULL | 4
400 | john | 3
401 | NULL | 4
592 | anna | 2
今私が探しているのは、各名前の値の合計を取得し、その間のnull(タイムスタンプ順に並べられた)を、テーブルがそうであるかのように、リストの最初の非null名として扱うクエリです。次のように:
timestamp | name | value
0 | john | 5
1 | john | 3
8 | john | 12
12 | john | 3
33 | pete | 4
54 | pete | 1
180 | john | 4
400 | john | 3
401 | anna | 4
592 | anna | 2
そして私はクエリしますSUM(value), name from this table group by name
。私は考えて試しましたが、適切な解決策を思い付くことができません。再帰的な共通テーブル式を見て、答えはそこにあるのではないかと思いますが、それらを正しく理解することができませんでした。
これらの表は単なる例であり、タイムスタンプの値は事前にはわかりません。
誰かが私に手を貸してくれませんか?助けていただければ幸いです。