Согласно комментарию Джона,
@rank:= 0;
SELECT * FROM (
SELECT @rank:= @rank +1 as rank, * FROM table1
) s ORDER BY (s.rank < 10) DESC, RAND()
сработает, однако это вызовет сортировку по случайному порядку для полной таблицы.
Следующее будет намного быстрее.
@rank:= 0;
SELECT s.* FROM
(
SELECT @rank:= @rank +1 as rank, * FROM table1 LIMIT 200
) s
ORDER BY (s.rank < 10) DESC, RAND();
Потому что при этом будут отсортированы только 200 элементов, а не полная таблица.