以下のようなデータベースがあるとします
id | date |
---|---|
1 | 2012-04-17 |
1 | 2012-04-18 |
1 | 2012-04-20 |
1 | 2012-04-21 |
1 | 2012-04-22 |
日付順にid を加算した値を取得したいのですが残念ながら 2012-04-19 が抜けているため、普通にやったらこのように 2012-04-19 がかけた値が結果が帰ってきます。
sum | date |
---|---|
1 | 2012-04-17 |
2 | 2012-04-18 |
3 | 2012-04-20 |
4 | 2012-04-21 |
5 | 2012-04-22 |
ですが僕が欲しいのは
sum | date |
---|---|
1 | 2012-04-17 |
2 | 2012-04-18 |
2 | 2012-04-19 |
3 | 2012-04-20 |
4 | 2012-04-21 |
5 | 2012-04-22 |
こんな風に、かけている日付を補って、1つ前の sum を表示するというコードを挿入するものです。どのようにしたらこの結果をえることができますか?
こちらは実行したコードです
mysql
1select 2 ( 3 select 4 sum(sub.id) 5 from id_date as sub 6 where sub.date <= id_date.date 7 ) as sum 8 ,date 9from id_date 10 11