2012-02-06 197 views
0
code id     date    time difference 
AiK4JJ kcy2000ok 2012-01-31 17:25:41   13  
unBG1D gktoql  2012-01-31 17:25:35   3  
vzqeWU gktoql  2012-01-31 17:25:32   4  
vvkOSd judyssi  2012-01-31 17:25:32   8  
uwhbGt kcy2000ok 2012-01-31 17:25:28 ?  
unBG1D gktoql  2012-01-31 17:25:27   ?  
vvkOSd judyssi  2012-01-31 17:25:24   ? 

我想計算基於id的近期日期和上一日期之間的時間差(秒)。如何計算兩個日期之間的時間差? - MySql

如果你看看kcy2000ok,最後一行的時差是13秒。

gktoql的時差爲最後一行3秒。

我需要做一個基於id計算時間差的查詢。

你能幫我建立MySql查詢嗎?

回答

3

SELECT id, UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) as difference FROM <your-table-name>

附錄: 你的問題是很難一點點了解,直到你editied它。因此,要明確這一點:如果你要計算由ID分組的最小差異,你可以這樣做:

SELECT 
    id, 
    MIN(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time)) as difference 
FROM your_table_name 
GROUP BY id 
+0

這並沒有考慮到,與同一行之間只有時間差'id'被通緝! – 2012-02-06 12:07:02

+0

好的,我修好了。 – iblue 2012-02-06 13:18:57

0

如果你的意思是發現,因爲最近的記錄每個用戶的秒數:

SELECT id, min(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time)) 
GROUP BY id 

或獲得最新的每個用戶記錄:

SELECT * FROM (
    SELECT * 
    FROM mytable 
    ORDER BY `date` desc) x 
GROUP BY id 
相關問題