Mysql timediff用分钟

时间:2012-07-04 20:54:01

标签: mysql

我正在进行查询以监控正在进行的和期待的文件上传。 这是我正在做的:

select time_to_sec(min(timediff(now(), f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED';

现在,经过12个小时,这比它应该的回复多10倍。而不是620分钟,它返回6200分钟。如果我这样做,它的工作原理:

select time_to_sec(timediff(now(), max(f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED'

我不明白其中的区别,为什么会发生这种情况?显然,最低时间长度应该等于现在和最高日期之间的timediff。我错过了什么或者这是一个错误吗?

我的问题是我以这种方式设置了大量支票,编辑所有这些支票可能是相当多的工作量。

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

我对这个和你的代码进行了一些测试:

select time_to_sec(min(timediff(now(), f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED';

需要:

select min(time_to_sec(timediff(now(), f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED';

由于您没有像第二个查询那样使用“MAX”功能,因此需要在“TIME_TO_SEC”之前调用“MIN”功能。

希望这有帮助