我有一张MySQL数据表。每行都有自己的数据。在该行中有start_time
和end_time
。基本上,当你开始做一个目标和完成时(插入数据库)。就像各种计时器一样。
如何获取start_time
和end_time
的unix时间戳的平均值。我知道你会减去end_time
start_time
以获得差异(以毫秒为单位?)并从那里......不确定还有什么。
答案 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