Masalah ini cukup umum. Anda memerlukan subquery untuk membuang cap waktu maksimum dan ratetypeid (yang merupakan dasar untuk pengelompokan) dan kemudian memilih yang lainnya dari gabungan bagian dalam baris subkueri ini dan yang lainnya.
Untuk MySQL:
SELECT ratecode, rate, id, ratetypeid, date, entrytimestamp
FROM ratedefinitions,
(SELECT ratetypeid, MAX(entrytimestamp) AS max_timestamp FROM Rates
GROUP BY ratetypeid) AS inner_table
WHERE
inner_table.ratetypeid = ratetypeid
AND innertable.max_timestamp = timestamp