-1

次の列を持つMYSQLテーブルがあります:entryDate、entryTime、entryAmt

いくつかの典型的な行は次のようになります。

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

等...

さて、私の質問は、MYSQLクエリを使用して、entryTime列で1日分のアクティビティの時間の差の平均を見つけることができるでしょうか?つまり、たとえば、その日の各entryTime間の平均時間の長さを知りたいと思います(2013-01-02では、entryTimesは11:15:15、11:52:10、および14です: 48:16。リストされている各時間の間に経過した平均時間を知りたい)。

4

1 に答える 1

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 |
+------------+----------+
于 2013-03-02T20:35:08.900 に答える