我有一個表在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