我有一个名为TrackHistory
的表,用于跟踪表User
中的任何更改。 TrackHistory
表有一个数据类型为DATETIME的列ChangedDate
,用于记录表User
中何时进行更改。我想获取表TrackHistory
中的所有行,其中ChangedDate
列包含的日期小于当前日期时间
例如
表TrackHistory
Row_No. ChangedDate UserID Marks
1 2016-02-08 08:45:34 5 40
2 2016-02-08 08:45:34 6 30
3 2016-02-08 09:12:34 5 50
4 2016-02-08 09:40:30 5 70
5 2016-02-08 09:40:30 6 60
假设在我的系统当前时间是2016-02-08 10:10:20
由于第4和第5行是TrackHistory
表中的最后一次更改。因此,第4行和第5行是ChangedDate刚好小于当前时间的行。
那么如何编写一个mysql查询来选择ChangedDate刚好小于当前日期的行。换句话说,我怎样才能从TrackHistory
表中获得最后更新的行。
提前致谢。
答案 0 :(得分:0)
仅仅取决于你的意思"只是少于当前的日期时间&#34 ;;你可以定义一个间隔。
SELECT * FROM TrackHistory WHERE ChangedDate < NOW() AND ChangedDate > DATE_SUB( NOW() , INTERVAL 10 SECONDS );