2012-02-06 160 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 
相关问题