我在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完成这个吗?如果是这样的话?如果没有,怎么样?
感谢您的帮助。
答案 0 :(得分:5)
您可以在任何查询中引用MAX和MIN:
SELECT objectid, DATEDIFF(MAX(time),MIN(time)) as diff
FROM objects
GROUP BY objectid
答案 1 :(得分: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列,但我喜欢看它们用于检查目的。
答案 2 :(得分: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
答案 3 :(得分:0)
我发现这个答案在下一行比较。这很完美: