Как сортировать строку с разделителями символов переменной длины?Сортировка символьной разделительной строки переменной длины
Я хотел бы отсортировать эту таблицу
number | make
=========|=========
11280-08 | bmw
13920-08 | audi
44630-08 | audi
1741-08 | mercedes
03-05 | audi
40093-08 | audi
332-04 | bmw
так, что первый восходить суффиксы -00
, а затем префиксы 0000
внутри каждый суффикс группы:
number | make
=========|=========
332-04 | bmw
03-05 | audi
1741-08 | mercedes
11280-08 | bmw
13920-08 | audi
40093-08 | audi
44630-08 | audi
Я бег этого запроса
select * from mytable
order by right(number,2),number asc
но я получаю это
number | make
=========|=========
332-04 | bmw
03-05 | audi
11280-08 | bmw
13920-08 | audi
1741-08 | mercedes
40093-08 | audi
44630-08 | audi
Обратите внимание, как 1741-08
следует 13920-08
в то время как оно должно предшествовать ему.
Почему вы объединили несколько отдельных значений в одно поле? –
Вы имеете в виду, почему бы не хранить префиксы и суффиксы отдельно? Я не знаю. Я не проектировал эту таблицу. –