从不同的表中减去时间戳

时间:2015-06-21 18:08:57

标签: mysql subtraction

我们有一个设计调查,收集决策时间的时间戳(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

1 个答案:

答案 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表的最新时间决定之间的秒数差异。