Мой PL / SQL довольно ржавый, но вы должны иметь возможность использовать что-то вроде
... ORDER BY substr(ID, 1, 2) ASC, substr(ID, 4) DESC
или даже лучше, как указано mathguy
... ORDER BY substr(ID, 1, 2) ASC, ID DESC
То есть сортировка по возрастанию первых двух символов, а затем по убыванию остальных.
Это, вероятно, довольно неоптимально с точки зрения производительности.Я хотел бы разбить это ID
на части, например,
ID_PREFIX CHAR(2),
ID_SUFFIX CHAR(6) -- or a numeric type, whatever is appropriate
и создать ваш первичный ключ на обоих.Это позволяет легко группировать, сортировать и отображать, вы можете просто использовать
SELECT ID_PREFIX || '-' || ID_SUFFIX AS ID...