Получите значение предыдущей строки в представлении MySQL

StackOverflow https://stackoverflow.com/questions/20354080

  •  25-08-2022
  •  | 
  •  

Вопрос

Предполагая, что у меня есть что -то вроде этого:

MySQL таблица

Date        |   Val   
2013/11/22  |   2     
2013/11/23  |   4     
2013/11/25  |   12    
2013/11/30  |   28    
2013/12/02  |   2     

Мне нужен запрос, чтобы получить в другом столбце сумму «текущей» значения строки плюс значение предыдущей строки. На примере результат будет что -то вроде этого:

Date        |   Value   |  Total
2013/11/22  |   2       |  2
2013/11/23  |   4       |  6          <--- Because 4+2 = 6
2013/11/25  |   12      |  16
2013/11/30  |   28      |  40
2013/12/02  |   2       |  30

Проблема в том, что я не могу использовать переменные, потому что я в вид.

Как я могу это сделать ?

Любая помощь ценится.

Это было полезно?

Решение

SELECT
t.Date,
t.Val,
COALESCE((SELECT Val FROM Table1 sq WHERE sq.Date < t.Date ORDER BY sq.Date DESC LIMIT 1), 0) + t.Val AS whatever
FROM
Table1 t
ORDER BY t.Date
  • Смотрите, что он работает вживую в sqlfiddle
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top