我有以下表格:
Record ID Status Date Timestamp
----------------------------------------------------------
1 1 waiting 2010-02-02 2010-02-02 12:00:00
2 1 finished 2010-02-02 2010-02-02 12:30:00
3 2 waiting 2009-02-02 2009-02-02 12:00:00
我想要获取日期在2010年1月1日至2010年3月3日期间的记录。 (这应该给我记录1和2)
此外,我想要获取每个ID中仅最新的记录(具有最近的时间戳)。 (这应该只给我记录2)。
我不确定我需要如何构建我的查询。我已经成功建立了以下查询:
SELECT `Record` `ID`, MAX( `Timestamp` )
FROM `myTable`
WHERE `Date`
BETWEEN '2010-01-01'
AND '2011-03-03'
GROUP BY `ID`
上述查询存在问题,因为它给出了以下结果:
Record ID Timestamp
---------------------------------
1 1 2010-02-02 12:30:00
除了“记录”字段应该是2而不是1之外,其余都正确。