【发布时间】:2016-09-22 14:28:27
【问题描述】:
我的想法有问题,我必须请人帮忙。 我创建了简单的工作时间跟踪系统,我可以使用该代码管理所有其他事情,但我现在无法弄清楚如何计算以下数据。
拳头,我有几张桌子,一张存放四样东西。
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
我可以很好地计算工作和家庭之间的时间,并为正确的人提供正确的价值。
但我现在被那些休息时间困住了。
我需要计算每人所有可能的休息时间,这样就可以计算出每人休息所花费的总时间。
所以当询问第 1 个人信息时,我需要类似以下的答案:
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'))
)
但我不能将它用于多个事件。
【问题讨论】:
-
那么你自己做了什么来尝试这个?这不是代码编写服务,我们不是来为您完成工作的。你展示你的尝试,我们(也许)会尝试帮助修复它。
-
感谢修复我的问题 Machavity。现在我下次可以做得更好。
-
Marc B. 我只是在想是否有人可以帮助我解决我的大脑圈问题。我尝试使用与 Work -> Home 事件相同的 sql 示例。我还不知道如何将其添加到评论中。我必须回答吗?
-
不要将代码发布到 cmets。这是不可读的。编辑您的问题。
-
我想我从其他问题中找到了一些帮助......如果我让它工作,我会告诉答案。
标签: mysql sql date datetime time