I have following table in my database.

I am trying to write a query which returns some rows from the above table.
The returning list:
- Should not contain duplicates of
Currency2_Id -
If there are duplicates of
Currency2_Idfound, the latest record should be returnedFor an example in above table there are two records which has
Currency2_Id = 7. The latest record from those two is the record which hasDate = 2012-12-28.
So my final result should be something like this.

This is the query I tried.
SELECT Id, Currency1_Id, Rate, Currency2_Id, Date
FROM currency_ex_rate_txn
GROUP BY Currency2_Id
ORDER BY Date DESC
But the resultset I get contains the record with Currency2_Id = 7 and Date = 2012-12-25 instead of the record with Currency2_Id = 7 and Date = 2012-12-28.
Any help would be appreciated.
Try this: