I have the following table:
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
I want to get the records where Date is between 2010-01-01 and 2010-03-03.
(this should give me Records 1 and 2)
Further I want to get only the latest (having most recent timestamp) for each ID.
(this should give me Record 2 only).
I am not sure how I need to structure my query. I have managed to build the following query:
SELECT `Record` `ID`, MAX( `Timestamp` )
FROM `myTable`
WHERE `Date`
BETWEEN '2010-01-01'
AND '2011-03-03'
GROUP BY `ID`
The problem with the above query is that for some reason it is giving me the following result:
Record ID Timestamp
---------------------------------
1 1 2010-02-02 12:30:00
which is correct except that the Record field should have the value 2 and not 1.
1 Answer