Выбор "последнего" из иерархической структуры

mysql_worm

Новичок
а как выглядит признак "район, которые добавил я"?
user_id=2

Товарищ по указанной Вами ссылке улыбнул :) Но он честно признался в первом сообщении что про sql знает очень мало ;)
 

Mols

Новичок
М-м-м... а в таком виде ?

select * from `locations` where `locations`.`location_id`
in ( select max(location_id) from `locations` group by `locations`.parent_id);
.... в общем не знаю я будет ли это работать в твоём мускле... проверь....(в 4.1 сработало) если не будет, то наверное придётся тебе с ПХП это крутить.... сначала спрашивать лок_ид... строить содержимое для in() и далее по нотам...
 

mysql_worm

Новичок
не-а, не съел он такой запрос, т.к. тоже подзапрос (пардон за каламбур). Делать через циклы не хочу, остается только пинать хостера чтобы обновили MySQL или перенесли меня на сервак где уже стоит новая версия. Спасибо за попытки :)
 

Фанат

oncle terrible
Команда форума
как я уже говорил, надо менять структуру базы.
твое нежелание "делать в цикле" тем более смехотворно, что вложенный подзапрос - это тот же самый цикл.
 

Sender

Новичок
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 вариант: внесите в таблицу поле: "Я последний в ветке"
 

mysql_worm

Новичок
Фанат, я рад что мы вызываем друг у друга улыбку :)
Sender, да, я предпочел вариант номер 2, но там получаются уже небольшие пляски на стадии добавления элемента, но это все же реже происходит чем выборка :)
 
Сверху