我想知道是否有任何方法可以计算两行之间的时差。我想计算名字的时差 - >测试等。名称可以是任何顺序。
我想知道测试在第1行和第3行是否有两次,然后在第7行和第11行,我可以计算这些行之间的时差吗?即第1行和第3行,第7行和第11行。
我的数据库下的图像
答案 0 :(得分:0)
尝试使用TIMEDIFF()和子查询
SELECT TIMEDIFF((SELECT `entered_at` FROM `demo_test3` WHERE `id`='1'),
(SELECT `entered_at` FROM `demo_test3` WHERE `id`='3'))
答案 1 :(得分:0)
如果你想检查PHP的差异,你可以做这样的事情。
function secondsBetweenRows($first, $second)
{
return strtotime($second->entered_at) - strtotime($first->entered_at);
}
// group rows by users
$users = []
foreach ($rows as $row) {
$users[$row->name] = $row;
}
// check row difference
$timeDiff = [];
foreach ($users as $userName => $userRows) {
// assume there are always to, if not do some checks here
$timeDiff[$userName] = secondsBetweenRows($userRows[1], $userRows[0]);
}
print_r($timeDiff);
/*
Array
(
[test] => 24
[test1] => 26
)
*/