Можно нахимичить что-нибудь эдакое. В случае Oracle можно вот так написать:
[sql]select * from ( select * from ( select object_id , object_name
from user_objects where object_id is not null
order by object_id desc)
where rownum<11
union all
select * from ( select object_id, object_name
from user_objects order by object_id )
where rownum<4)
order by object_id desc;[/sql]
Я для примера взял таблицу user_objects, сортирую по object_id. Действия такие:
1) Выборка 10 самых больших значений object_id и исключение значений NULL.
2) Выборка 3 самых маленьких значений object_id.
3) Объединение результатов в один и его сортировка по убыванию.
Тут простор для извращений большой
