Всем привет! Нужна помощь. Написал для себя маленький форум. После хочется, чтобы на главной странице выводилось последние 10 сообщений, но чтобы темы не повторялись и показывалось всегда последние сообщение. вот структура БД: idmsg | idtema | iduser | date | time | msg | Результат должен быть в таком виде: tema | idmsg | iduser | Код (Text): $sql=mysql_query(" SELECT t.tema,t.idtema,u.nic,u.family,u.name,u.otchestvo,m.idmsg,u.iduser,m.date,m.time,c1.idcategory as idcategory2,c2.idcategory as idcategory1 FROM forum_msg m INNER JOIN forum_tema t ON t.idtema=m.idtema INNER JOIN users u ON u.iduser=m.iduser INNER JOIN forum_category c1 ON c1.idcategory=t.idcategory INNER JOIN forum_category c2 ON c2.idcategory=c1.idparent GROUP BY t.idtema ORDER BY m.idmsg DESC LIMIT 0,10 "); У меня так не получается, помогите
При GROUP BY мы получаем результат не по записи, а результат по группе. Я знаю два способа построить нужный запрос: 1) Выбираем все темы и join'им к ним первую запись. 2) Делаем такой же запрос ка сейчас, только вместо group by используем where со связанным подзапросом. Суть одна и та же, да и подзапросы получаются примерно одинаковые, поэтому что лучше я не знаю. Надо мерить.