MySql通过TimeStamp获取以前的行

时间:2013-09-14 14:45:28

标签: mysql

我有:

表格infoUpdate
+ ------- + ----------- ----------- + + ----------- + ----- ------ +
| idKey1 | idKey2 | __ date_Update _ | DayWeek |
+ ------- + ----------- ----------- + + ----------- + ----- ------ +
| 1___ | __ 3 __ _ _ | 2013.01.01 15:00:00 | 2 |
| 1___ | __ 3 __ _ _ | 2013.01.01 18:00:00 | 2 |
| 1___ | __ 3 __ _ _ | 2013.01.02 15:00:00 | 3 |
| 1___ | __ 3 __ _ _ | 2013.01.02 18:00:00 | 3 |
| 1___ | __ 3 __ _ _ | 2013.01.03 15:00:00 | 4 |
| 1___ | __ 3 __ _ _ | 2013.01.03 18:00:00 | 4 |
+ ------- + ----------- ----------- + + ----------- + ----- ------ +

如何通过timeStamp

仅获取之前的行

如果date_Update< ='2013.01.03 18:00:00',请选择* FROM infoUpdate;

这是我正在寻求的:

+ ------- + ----------- + ----------- + ----------- + - --------- +
| idKey1 | idKey2 | date_Update | DayWeek |
+ ------- + ----------- ----------- + + ----------- + ----- ------ +
| 1 | 3 | 2013.01.01 18:00:00 | 2 |
| 1 | 3 | 2013.01.02 18:00:00 | 3 |
| 1 | 3 | 2013.01.03 18:00:00 | 4 |
+ ------- + ----------- ----------- + + ----------- + ----- ------ +

2 个答案:

答案 0 :(得分:1)

这对你有用吗<​​/ p>

 Select * FROM infoUpdate  where date_Update >= DATE_SUB( '2013.01.03 18:00:00' ,INTERVAL 90 DAY ) 

这将为您提供上述日期之前的90天记录

答案 1 :(得分:0)

它会对你有用吗?

Select idKey1, idKey2 , DayWeek, MAX(dateUpdate) as dateUpdate
FROM infoUpdate 
where date_Update <='2013.01.03 18:00:00'
GROUP BY idKey1, idKey2 , DayWeek, DATE(dateUpdate);

如果您只对上周的数据感兴趣,可以从DATE(dateUpdate)移除GROUP BY