Domanda

Supponendo che io abbia qualcosa di simile:

Tavolo mysql

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

Ho bisogno di una query per ottenere un'altra colonna la somma del valore della riga "corrente" più il valore della riga precedente. Con l'esempio, il risultato sarebbe qualcosa del genere:

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

Il problema è che non posso usare le variabili perché sono acceso una vista.

Come posso fare questo ?

Qualsiasi aiuto è apprezzato.

È stato utile?

Soluzione

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
  • vederlo funzionare dal vivo in un sqlfiddle
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top