Можно.
Например вот так:
CREATE TABLE `t_4369` (
`message_text` varchar(255),
`message_date` date,
`forum_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into `t_4369` values
('mes1','2011-01-01',1)
,('mes2','2011-01-02',2)
,('mes3','2011-01-03',3)
,('mes4','2011-01-04',1)
,('mes5','2011-01-05',2)
,('mes6','2011-01-06',3)
,('mes7','2011-01-07',1)
,('mes8','2011-01-08',2)
,('mes9','2011-01-09',3);
set @i = 0, @forum = 0; select t.* from (select * from `t_4369` order by `forum_id`,`message_date` desc) t where if (@forum=`forum_id`, @i:=@i+1,(@i:=0) or (@forum:=`forum_id`)) and @i<1;
Если же хотите без пользовательских переменных, то посмотрите вот
этот топик, там разбирался такой же вопрос.
Отредактированно deadka (10.06.2011 21:04:49)