1 вариант: двумя запросами.
запрос №1 выберет все нужные данные записей, которые будут в результат входить:
SELECT parent_id, MAX( date ) as max_date FROM `table` t1 WHERE t1.parent_id IS NOT NULL GROUP BY parent_id;
запрос №2 - выбираем уже нужные данные по полученным parent_id, date
2 вариант: внесите в таблицу поле: "Я последний в ветке"