我正在进行查询以监控正在进行的和期待的文件上传。 这是我正在做的:
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。我错过了什么或者这是一个错误吗?
我的问题是我以这种方式设置了大量支票,编辑所有这些支票可能是相当多的工作量。
感谢您的帮助!
答案 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”功能。
希望这有帮助