mysql - 获取两个数据单元格之间差异的平均值

时间:2014-11-23 10:12:10

标签: mysql

我有一张MySQL数据表。每行都有自己的数据。在该行中有start_timeend_time。基本上,当你开始做一个目标和完成时(插入数据库)。就像各种计时器一样。

如何获取start_timeend_time的unix时间戳的平均值。我知道你会减去end_time start_time以获得差异(以毫秒为单位?)并从那里......不确定还有什么。

1 个答案:

答案 0 :(得分:1)

日期列的

unix_timestamp从epoc返回其表示为秒,因此减去其中两个将以秒为单位给出差异。与任何其他数字一样,您可以对其应用聚合avg函数以获得平均值:

SELECT AVG (UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time))
FROM   my_table

获得此结果后,您可以以任何方式操纵它。一个有用的操作是使用sec_to_time将一些秒转换为HH:MM:SS格式(例如,183秒将表示为00:03:03小时):

SELECT SEC_TO_TIME 
       (AVG (UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time)))
FROM   my_table