Помогите оптимизировать запрос с group by

dEn

Новичок
Помогите оптимизировать запрос с group by

Есть вот такой запрос:

Можно ли без вложенных запросов решить такую задачу:

SELECT * FROM(
SELECT p.name,s.image, p.pid
FROM structure AS p, stories AS s
WHERE p.pid IN (2,3,4,5) AND p.id=s.id
ORDER BY s.date DESC
) AS sub GROUP BY pid
 

zerkms

TDD infected
Команда форума
почему бы задачу не объяснить словами?
 

dEn

Новичок
ОК.
Есть таблицы
structure: (дерево страниц)
id - int
pid - int (id родительского раздела)
name - varchar (название)


stories: (статьи)
id - int
date - datetime
image - varchar
full_text - text

stories и structure связаны по id

Необходимо получить по одной последей (по дате) записи из каждого раздела (pid)
 

prolis

Новичок
если Id последовательно ведется, то по нему мужно выбирать последние записи
[sql]
select * from stories,
(
select max(id) as maxid from structure
group by pid
) t.maxid=stories.id
[/sql]
 
Сверху