Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL或PHP日期平均值_Php_Mysql_Time_Average - Fatal编程技术网

MySQL或PHP日期平均值

MySQL或PHP日期平均值,php,mysql,time,average,Php,Mysql,Time,Average,我正试图找出如何找到许多不同时间值的平均值,这些时间值是两个日期的时间差,因此它们的格式为hh:mm:ss 如果我有4个时间值: 00:11:05 00:01:30 00:04:25 00:09:50 我很难弄明白这一点。 我认为这些时间值需要转换成某种类型的整数值,然后除以,再转换回这种时间格式 感谢您的帮助 谢谢这些数据类型是什么?hh:mm:ss恐怕只能表示时间,不能表示日期。您可以将它们转换为秒,然后平均。i、 例如,1小时=60分钟=3600秒。等然后,如果需要,请转换回我正在尝试查找

我正试图找出如何找到许多不同时间值的平均值,这些时间值是两个日期的时间差,因此它们的格式为
hh:mm:ss

如果我有4个时间值:

00:11:05
00:01:30
00:04:25
00:09:50

我很难弄明白这一点。
我认为这些时间值需要转换成某种类型的整数值,然后除以,再转换回这种时间格式

感谢您的帮助


谢谢

这些数据类型是什么?hh:mm:ss恐怕只能表示时间,不能表示日期。您可以将它们转换为秒,然后平均。i、 例如,1小时=60分钟=3600秒。等然后,如果需要,请转换回我正在尝试查找时间值的平均值。数据类型是执行DATEDIFF返回的任何数据。所以上面的每一个时间值都是在两个不同的日期执行DATEDIFF的结果。对不起…我指的是TIMEDIFF而不是DATEDIFF@Martin:如果你的意思是只在时间域上运行
AVG
:我原以为它会起作用,但实际上它将它非常愚蠢地转换为整数,而平均值不起作用。例如:
cast(平均值('01:30','2:30')作为时间))
结果为空(01:80无效),
cast(平均值('01:10','2:00')作为时间)
结果为01:55,当它应该是01:35时,请参见模式?它的总和为110+200=310,310/2=155,转换为时间=01:55。不是我们想要的:(
SELECT DATE_FORMAT(
    FROM_UNIXTIME(
         AVG(
              UNIX_TIMESTAMP(CONCAT('1980-01-01 ',timefield))
         )
    ),
    '%H:%i:%s.%f') FROM times;