PHP查询2行MySql表之间的差异


PHP query difference between 2 rows MySql table

你好,我正在寻找一种方法来区分Mysql查询中的2行

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

我正在寻找的结果是:

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

请问我如何通过php获得这个结果?

一个方法使用相关的子查询。请注意,这将返回第一个差异的NULL
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;

NULL转换为0很容易,但我更喜欢NULL值,因为以前的值没有意义。