Question

En supposant que j'ai quelque chose comme ceci:

Table mysql

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

J'ai besoin d'une requête pour obtenir une autre colonne la somme de la valeur de la ligne "actuelle" plus la valeur de la ligne précédente. Avec l'exemple, le résultat serait quelque chose comme ceci:

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

Le problème est que je ne peux pas utiliser les variables parce que je suis sur une vue.

Comment puis-je faire ceci ?

Toute aide est appréciée.

Était-ce utile?

La solution

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
  • Voir ça fonctionner en direct dans un sqlfiddle
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top