Похоже, ваш столбец rank
является текстовым столбцом (например, varchar
), и поэтому, когда вы заказываете его, вы заказываете лексикографически . Если вы хотите отсортировать численно , вам необходимо явно преобразовать его:
SELECT *
FROM scores
WHERE tournament_id = "3" AND class = "MA1"
ORDER BY CAST(rank AS INTEGER) ASC
-- Here -^