2016-04-11 21 views
0

Merhaba ben aradığınız MySQL sorgudaPHP sorgu farkı

datetime    | value 
2016-01-04 10:00:00 | 50 
2016-01-04 11:00:00 | 60 
2016-01-04 13:00:00 | 65 

sonuç im 2 sıra arasındaki fark yaratmak için bir yol arıyorum geçerli:

datetime    | value 
2016-01-04 10:00:00 | 0 
2016-01-04 11:00:00 | 10 
2016-01-04 13:00:00 | 5 

nasıl bu sonucu php ile alabilir miyim lütfen?

+0

Lütfen PHP ve MySQL ile çalışmak için kodunuzu verin. – marklark

cevap

1

Bir yöntem ilişkili bir alt sorgu kullanır. NULL0 dönüştürmek için yeterince kolaydır

select t.*, 
     (t.value - 
     (select t2.value 
     from t t2 
     where t2.datetime < t.datetime 
     order by t2.datetime desc 
     limit 1 
     ) 
     ) as diff 
from t; 

, ancak önceki değeri anlamlı değildir çünkü NULL değerini tercih: bu ilk farkın NULL dönecektir unutmayın.

+0

Sipariş dışında dış sorguda da gereklidir. –

+0

Mükemmel! Teşekkürler beyler – llaid