我有下表;在MySQL中查找最近的時間和之後的時間
CalibrationID | EndCalTime
1 | 2013-12-20 08:11:13
2 | 2013-12-20 08:13:30
3 | 2013-12-20 08:15:26
等等等等
現在,給定一個日期時間dt
,我希望能夠之前dt
後找到最接近的EndCalTime
。在MSSQL中,我可以執行類似SELECT CalibrationID, MIN(timediff) FROM CalTable
的操作並獲得預期的結果。
然而,在MySQL中,似乎並非如此。這個查詢; SELECT CalibrationID, MIN(TIME_TO_SEC(TIMEDIFF(@StabTime, EndCalTime))) FROM CPCalibrations WHERE EndCalTime < @StabTime;
總是給我一個ID,即使我知道ID爲7.
有人可以請幫助建議一種方式,會給我想要的結果嗎?
這MSSQL樣本你提供的肯定不會工作,因爲它缺少一個「GROUP BY」子句 - 這也是MySQL給出「隨機」結果的確切原因。 –