【问题标题】:Mysql Average on time column?Mysql 平均时间列?
【发布时间】:2011-01-14 02:23:37
【问题描述】:

SELECT avg(duration) as average FROM login;

持续时间的数据类型是“时间”,因此我的值是:00:00:14、00:20:23 等

我执行它给我的查询:2725.78947368421

那是什么?我要时间格式,mysql能按时平均吗??

【问题讨论】:

    标签: mysql time average


    【解决方案1】:

    试试这个:

    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
    

    【讨论】:

    • 另外你可以将time_to_sec的结果除以60得到一个数字结果。
    • 有时简单的事情可以给一个人的生活带来快乐。 @马克拜尔斯。谢谢这个!!!工作得很好。 :)
    • 为什么我的结果 = 00:02:54.6363,6363 是什么?如何排除?
    • 我的值是 01:00:00 和 22:00:00 而通过这个查询,平均值是 11:30:00。这是错误的。所以应该是 23:30。
    • @ApoorvaShah 您需要先将 86400 秒添加到 01:00:00
    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多