PHP查询2行MySql表之间的区别

时间:2016-04-11 14:36:36

标签: php mysql sql

您好我正在寻找一种方法来区分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获得此结果?

1 个答案:

答案 0 :(得分:1)

一种方法使用相关子查询。请注意,这将返回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值,因为之前的值没有意义。