Предполагая, что историческая таблица имеет PK, состоящий из исходного идентификатора и метки времени
SELECT table.*, ht1.*
FROM table INNER JOIN historical_table ht1
ON table.id = ht1.id
LEFT JOIN historical table ht2
ON ht1.id = ht2.id AND ht1.timestamp < ht2.timestamp
WHERE ht2.timestamp IS NULL
Основная часть логики - это строки выбора, для которых нет новых записей (ht2.timestamp равен нулю)
Это общий показатель для каждой группы, поэтому вопрос (и есть другие способы решения этой проблемы)