2013-03-02 22 views
-1

我有以下幾列一個MySQL表:entryDate,entryTime,entryAmtMySQL查詢計算項目之間的平均時間在指定日期範圍內

一些典型的行會看起來像:

2013-01-02, 11:15:15, 30 
2013-01-02, 11:52:10, 15 
2013-01-02, 14:48:16, 15 
2013-01-01, 10:10:11, 30 
2013-01-01, 11:00:00, 15 

etc ...

現在我的問題是使用MYSQL查詢來查找entryTime列中一天活動的時間差的平均值嗎?例如,我想知道當天每個entryTime之間的平均時間長度(在2013-01-02,entryTimes是11:15:15,11:52:10和14: 48:16。我想知道每次列出的時間間隔的平均時間)。

+0

是的,這是可能的。 [你有什麼嘗試](http://www.whathaveyoutried.com)? – Kermit 2013-03-02 18:29:04

+0

我沒有。我不知道從哪裏開始。這就是爲什麼我問這個問題... – user2127240 2013-03-02 18:57:52

+0

請從[FAQ](http://stackoverflow.com/faq#questions)尋求建議。這個問題不適合Q&A格式。你基本上要求我們爲你做這項工作。代碼應支持這些類型的問題。我建議你自己嘗試一下,然後一旦遇到困難,請向我們尋求幫助。 – Kermit 2013-03-02 19:04:15

回答

1

試試這個

SELECT `entryDate`, 
     SEC_TO_TIME(
     CASE WHEN COUNT(`entryTime`) = 1 THEN 0 
      ELSE TIME_TO_SEC(TIMEDIFF(MAX(`entryTime`), MIN(`entryTime`)))/(COUNT(`entryTime`) - 1) 
     END) average 
    FROM entries 
GROUP BY `entryDate` 

輸出

+------------+----------+ 
| date  | average | 
+------------+----------+ 
| 2013-01-01 | 00:49:49 | 
| 2013-01-02 | 01:46:31 | 
+------------+----------+ 
+0

謝謝,彼得。這正是我所期待的! – user2127240 2013-03-02 23:35:36

相關問題