以下のようなテーブルがあります。
Before
id | sale | date |
---|---|---|
1 | 1200 | 2020-11-11 |
2 | 3500 | 2020-11-12 |
3 | 400 | 2020-11-13 |
4 | 5000 | 2020-11-14 |
5 | 4000 | 2020-11-15 |
6 | 15000 | 2020-11-16 |
ここから前2件の合計を取得したいのです。具体的には以下の通りです
例えばid = 3 の行に id=1とid=2のsaleの合計が入る感じです。
After
id | sale | date | sum |
---|---|---|---|
1 | 1200 | 2020-11-11 | Null |
2 | 3500 | 2020-11-12 | Null |
3 | 400 | 2020-11-13 | 5100 |
4 | 5000 | 2020-11-14 | 8900 |
5 | 4000 | 2020-11-15 | 9400 |
6 | 15000 | 2020-11-16 | 24000 |
試したクエリ
MySQL
1select *, 2(select sum(F.id) FROM Sale AS F WHERE id IN (F.id, (F.id + 1))) AS 'sum' 3FROM Sale;
サブクエリでやってみたのですが、sumが全ての合計になってしまっており、目的の値が取得できませんでした。
どのように修正したら良いでしょうか?
回答2件
あなたの回答
tips
プレビュー