-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

ETC...

现在我的问题是是否可以使用 MYSQL 查询在 entryTime 列中找到一天活动的平均时间差?也就是说,例如,我想知道一天中每个 entryTime 之间的平均时间长度是多少(在 2013 年 1 月 2 日,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 回答