select * from `locations` where `locations`.`location_id`
in ( select max(location_id) from `locations` group by `locations`.parent_id);
.... в общем не знаю я будет ли это работать в твоём мускле... проверь....(в 4.1 сработало) если не будет, то наверное придётся тебе с ПХП это крутить.... сначала спрашивать лок_ид... строить содержимое для in() и далее по нотам...
не-а, не съел он такой запрос, т.к. тоже подзапрос (пардон за каламбур). Делать через циклы не хочу, остается только пинать хостера чтобы обновили MySQL или перенесли меня на сервак где уже стоит новая версия. Спасибо за попытки
запрос №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 вариант: внесите в таблицу поле: "Я последний в ветке"
Фанат, я рад что мы вызываем друг у друга улыбку Sender, да, я предпочел вариант номер 2, но там получаются уже небольшие пляски на стадии добавления элемента, но это все же реже происходит чем выборка