我有一个表在MySQL中使用此格式:(时间=上插入时间戳)MySQL的加入时间戳值
id | tid | uid | time
31 | 1 | 14 | 2011-05-19 05:42:37 //start timestamp)
41 | 1 | 14 | 2011-05-19 07:18:42 //stop timestamp)
45 | 1 | 14 | 2011-05-19 07:18:49 //start timestamp)
46 | 1 | 14 | 2011-05-19 07:28:42 //stop timestamp)
我需要的是做出一个选择,增加了这样的
的时间差(41 - 31) + (46 - 45)
(我使用的ID而不是实际time
值,以更好地了解我需要做的)
像SELECT (something that does this) AS TotalTimeSpent WHERE tid = '1'
你您对哪些时间戳是哪一种的信息吗?是否有假设tid/uid组合的最早时间戳是开始并且在那之后交替? – 2011-05-19 17:05:40
给定“开始”事件的ID的“停止”事件是可行的,它将事件的一半忽略为棘手的“开始”事件。为什么你甚至使用这个(我的意思是这是一个非常客观的方式)愚蠢的数据库设计?你应该至少*存储事件类型,如果不使用2个不同的表,或者甚至更好的单行与2个时间值,开始和停止。 – Blindy 2011-05-19 17:07:54
如果COUNT(*)结果甚至不会触发选择,它就会像启动/停止/启动/停止一样工作 – 2011-05-19 17:08:06