我们有一个设计调查,收集决策时间的时间戳(auditquestionid 12345)和执行操作的时间(auditquestionid 12346)。一个mysql'调查' table存储有关调查时间的信息,然后将时间戳值保存在一个单独的表格中(' surveyquestiontimedata')以及' surveyid'。我想找出每次调查的时间反应和时间决定之间的时差。任何帮助非常感谢。
Survey
surveyid | surveydate | auditid
-------------------------------
001 | 20/06/2015 | 12
002 | 21/06/2015 | 12
Surveyquestiontimedata
surveyid | auditquestionid | value
----------------------------------
001 | 12345 | 10:00
001 | 12346 | 10:25
002 | 12345 | 15:25
002 | 12346 | 16:10
Output
surveyid | difference
001 | 00:15
002 | 00:45
答案 0 :(得分:0)
你想要做的事情并不是从你的帖子中看得很清楚,但我认为这个解决方案可以帮助你获得你想要的东西。
查询将是这样的
SELECT TIMESTAMPDIFF
(SECOND, s.timeaction,
(SELECT std.timedecision
FROM surveytimedata std
WHERE std.surveyid = s.surveyid
ORDER BY std.timedecision DESC
LIMIT 1))
FROM survey s
通过这个,您将获得调查表中的时间操作与来自surveytimedata表的最新时间决定之间的秒数差异。