gpt4 book ai didi

mysql 5.5.50 将一天的多个事件计算为一个

转载 作者:行者123 更新时间:2023-11-29 20:17:55 26 4
gpt4 key购买 nike

我的思维有问题,必须请人帮忙。我创建了简单的工作时间跟踪系统,我可以使用该代码管理所有其他事情,但我现在无法弄清楚如何计算以下数据。

拳头,我有几张 table ,一张 table 放了四件东西。

index | who | timestamp           | what
1 | 1 | 2016-09-21 08:00:00 | Work
2 | 2 | 2016-09-21 08:01:00 | Work
3 | 1 | 2016-09-21 10:00:00 | Bin
4 | 2 | 2016-09-21 10:00:00 | Bin
5 | 1 | 2016-09-21 10:15:00 | Bout
6 | 2 | 2016-09-21 10:17:00 | Bout
7 | 2 | 2016-09-21 13:00:00 | Bin
8 | 1 | 2016-09-21 13:00:00 | Bin
9 | 1 | 2016-09-21 13:30:00 | Bout
10 | 2 | 2016-09-21 13:30:00 | Bout
11 | 2 | 2016-09-21 15:58:00 | Home
12 | 1 | 2016-09-21 16:05:00 | Home

我可以很好地计算工作和家庭之间的时间,并为正确的人提供正确的值(value)。

但我现在被那些休息时间困住了。

我需要计算每个人所有可能的休息时间,这样就可以得到每个人休息所花费的总时间。

所以当我询问第一个人的信息时,我需要类似以下的答案:

Who | Time     | Breaktime | Working time
1 | 08:05:00 | 00:45:00 | 07:20:00

或者也许当询问特定日期时所有人都可以来到同一页面...

Who | Time     | Breaktime | Working time
1 | 08:05:00 | 00:45:00 | 07:20:00
2 | 07:57:00 | 00:47:00 | 07:10:00

事件总是成对出现的。工作 -> 家庭和垃圾箱 -> 比赛。是的,人数更多,每人的制动时间也可能更多。

这可能是一个糟糕的演示,对此表示抱歉(NooB)。我希望我能提供尽可能多的信息,以便有人可以提供帮助。不过有什么要问的就问吧。

这是我在解决一天在工作地点的总时间时使用的代码。

SELECT TIMEDIFF(  
(SELECT timestamp FROM `stamps` WHERE (who like '1' and DATE (timestamp) like '2016-09-21' and what like 'Home')),
(SELECT timestamp FROM `stamps` WHERE (who like '1' and DATE (timestamp) like '2016-09-21' and what like 'Work'))
)

但我不能将它用于多个事件。

最佳答案

这就是我发现的。也许不太好,但它有效 =)。

$break = mysqli_query($conn,"SELECT what, timestamp FROM stamps WHERE (who like '$id' and  DATE (timestamp) like '$day' and what like 'B%') ORDER BY timestamp");
while($row = mysqli_fetch_array($break))
{
if ( $row['what'] == "Bin" )
$start = strtotime( $row['timestamp'] );
else { $stop = strtotime( $row['timestamp'] );
$hours += ( $stop - $start );
}
}
$btime = gmdate('H:i:s', floor($hours));

$btime 给出 00:00:00 风格的结果。

关于mysql 5.5.50 将一天的多个事件计算为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com