0

我在 mysql 数据库中有以下行:

Object1 2012-03-25 13:02:17         
Object2 2012-03-25 13:02:20         
Object3 2012-03-25 13:03:22         
Object1 2012-03-25 13:03:25         
Object4 2012-03-25 13:03:38         
Object1 2012-03-25 13:03:41         
Object5 2012-03-25 13:03:46         
Object4 2012-03-25 13:04:15         
Object6 2012-03-25 13:09:16         
Object1 2012-03-25 13:10:02         
Object4 2012-03-25 13:10:33         
Object3 2012-03-25 13:26:52         

我想计算一个对象的最早时间和同一对象的最晚时间之间的时间差。

例如,Object1 的输出值大约为 8 秒。

我能用sql完成这个吗?如果有怎么办?如果没有,怎么办?

谢谢你的帮助。

4

3 回答 3

5

您可以在任何查询中引用 MAX 和 MIN,如下所示:

SELECT objectid, DATEDIFF(MAX(time),MIN(time)) as diff
FROM objects
GROUP BY objectid
于 2012-04-16T19:06:12.307 回答
2
SELECT obj, MIN(otime) AS mn, MAX(otime) AS mx, DATEDIFF(MAX(otime),MIN(otime)) AS df
FROM mytable
GROUP BY obj

应该这样做。您不需要 mn 和 mx 列,但我喜欢查看它们以进行检查。

于 2012-04-16T19:07:03.150 回答
0
SELECT obj_name, MIN(obj_time) as min_time, MAX(obj_time) as max_time, 
TIMESTAMPDIFF(SECOND, MIN(obj_time),MAX(obj_time)) as diff_seconds
FROM table1
GROUP BY obj_name
于 2012-04-16T19:08:10.823 回答