2010-02-07 107 views
30

选择平均(持续时间)为平均值从login;Mysql平均时间列?

的持续时间的数据类型是“时间”,所以我的价值是这样的:○点00分14秒,〇时20分23秒等

我执行查询,它给了我:2725.78947368421

是什么那?我想以时间格式,mysql可以按时做到平均?

回答

65

试试这个:

SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`login`))) FROM Table1; 

测试数据:

CREATE TABLE `login` (duration TIME NOT NULL); 
INSERT INTO `login` (duration) VALUES 
('00:00:20'), 
('00:01:10'), 
('00:20:15'), 
('00:06:50'); 

结果:

00:07:09 
+0

另外你可以除以60 TIME_TO_SEC的结果,得到一个数字结果。 – 2010-03-16 19:29:23

+2

有时候,简单的事情会给人的生活带来欢乐。 @Mark Byers。感谢这!工作绝对好。 :) – MontyPython 2015-06-04 10:56:35

+1

为什么我的结果= 00:02:54.6363, 什么是6363?如何排除它? – Hafidh 2016-02-07 14:33:22