我的网络应用程序有下表,我想添加另一列来获取当前行和上一行之间的时间差。我怎样才能实现它?
当前这是我来自 php 应用程序的 sql 调用
$stmt = $db->prepare("SELECT device,lat,lon, speed, mode, DATE (`currentTime`) ,TIME_FORMAT(`currentTime`, '%H:%i:%s')
FROM myTable
WHERE device=? limit ?");
$stmt ->bind_param('ii', $device_Number ,$limit);
$stmt ->bind_result($device, $lat, $lon, $speed, $mode, $currentDate, $currentTime);
$stmt ->execute();
最佳答案
这里我给出了具有日期时间差异的示例数据,这里您将数据保存在两个不同的列中 因此将日期差作为两列“时差”和“日差”
测试时间
表
id date1 time1
1 2017-08-14 01:06:11
2 2017-08-14 01:09:13
3 2017-08-14 01:16:10
4 2017-08-14 01:21:00
5 2017-08-15 01:21:00
6 2017-08-15 02:13:00
Mysql查询是
SELECT A.id, A.time1, TIMESTAMPDIFF(SECOND,A.time1,B.time1) AS timedifference,
TIMESTAMPDIFF(DAY,A.date1,B.date1) AS daydifference
FROM testtime A INNER JOIN testtime B ON B.id = (A.id + 1)
ORDER BY A.id ASC
关于php - 计算当前行和上一行之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45671429/