Вот такой запрос нарисовался :)
Стёр нафиг всё, что сначала написал и сделал по-другому:
select * from
( select id_category, text, date
from you_table
order by date desc
limit 0,1
) r1
union
select * from
(
select id_category, text, date
from you_table
order by date desc
limit 1,1
) r2
order by id_category, date
Первая часть выбирает все последние, вторая часть все предпоследние записи (если таковые имеются). Эти подзапросы можно сджойнить, при желании.
Запросы не тестировал, написал "на коленке". Так что проверяй сам :)
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)