-----------------------
-- get me my rows...
-----------------------
select * from myTable t
-----------------------
-- limiting them...
-----------------------
inner join
----------------------------------
-- ...by joining to a subselection
----------------------------------
(select m.id, m.date, max(m.sequence) as max_seq from myTable m inner join
----------------------------------------------------
-- first group on id and date to get max-date-per-id
----------------------------------------------------
(select id, max(date) as date from myTable group by id) y
on m.id = y.id and m.date = y.date
group by id) x
on t.id = x.id
and t.sequence = x.max_seq
Было бы простым решением, которое не учитывает ни связи, ни строк, где последовательность равна NULL.
РЕДАКТИРОВАНИЕ: Я добавил дополнительную группу, чтобы сначала выбрать max-date-per-id, а затем присоединиться к ней, чтобы получить max-sequence-per-max-date-per-id перед присоединение к основной таблице для получения всех столбцов.