我有一个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列中一天活动价值的平均差异?也就是说,例如,我想知道当天每个entryTime之间的平均时间长度是什么(在2013-01-02,entryTimes是11:15:15,11:52:10和14: 48:16。我想知道每次列出的时间之间经过的平均时间。)
答案 0 :(得分: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 |
+------------+----------+