Eu sugiro que você veja as Funções de string do MySQL e mais especificamente o
SUBSTRING_INDEX
função. A razão pela qual eu sugiro este sobre SUBSTRING
é porque o número antes ou depois da barra pode ser mais do que um único número que faria o comprimento da primeira e/ou segunda parte variar. Exemplo:
SELECT `info`,
SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
SUBSTRING_INDEX(`info`, '/', -1) AS `second_part`
FROM `table`
ORDER BY `first_part` ASC,
`second_part` ASC;
Resultado:
Exemplo adicional
Neste exemplo, estou usando
CAST
para converter a segunda parte em um inteiro sem sinal apenas no caso de conter caracteres adicionais, como símbolos ou letras. Em outras palavras, a segunda parte do "web-4/15". seria "15" e a segunda parte de "web-4/15****" também seria "15". SELECT `info`,
SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
CAST(SUBSTRING_INDEX(`info`, '/', -1) AS UNSIGNED) `second_part`
FROM `table`
ORDER BY `first_part` ASC,
`second_part` ASC;