Вы должны быть в состоянии сделать:
SELECT *
FROM (SELECT * FROM `table` ORDER BY rank DESC LIMIT 10) dt
ORDER BY dt.rank ASC;
Я полагаю, у вас есть такая таблица:
CREATE TABLE `table` (id int, rank int);
INSERT INTO `table` VALUES (1, 20), (2, 19), (3, 18), (4, 17), (5, 16), (6, 15),
(7, 14), (8, 13), (9, 12), (10, 11), (11, 10),
(12, 9), (13, 8), (14, 7), (15, 6), (16, 5), (17, 4),
(18, 3), (19, 2), (20, 1);
Вы получите такой результат:
+------+------+
| id | rank |
+------+------+
| 10 | 11 |
| 9 | 12 |
| 8 | 13 |
| 7 | 14 |
| 6 | 15 |
| 5 | 16 |
| 4 | 17 |
| 3 | 18 |
| 2 | 19 |
| 1 | 20 |
+------+------+
10 rows in set (0.02 sec)
ОБНОВЛЕНИЕ:
@ onik решение возвращает тот же результат.