2014-11-23 107 views
1

我有一個MySQL數據表。每一行都有自己的數據。在那一行有start_timeend_time。基本上,當你開始做一個目標,當你完成(插入數據庫)。就像各種計時器。mysql - 獲取兩個數據單元之間的差異的平均值

我怎樣才能得到start_timeend_time的unix時間戳的平均值。我知道你會減去end_timestart_time以獲得差異(以毫秒爲單位),從那裏...不知道還有什麼。

+0

也許平均函數將有用 – Strawberry 2014-11-23 10:19:38

回答

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秒將表示爲0時03分03秒小時):

SELECT SEC_TO_TIME 
     (AVG (UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time))) 
FROM my_table 
相關問題