Proponuję zapoznać się z funkcjami tekstowymi MySQL a dokładniej SUBSTRING_INDEX
funkcjonować. Powód, dla którego sugeruję to zamiast SUBSTRING
Dzieje się tak dlatego, że liczba przed lub po ukośniku może być większa niż pojedyncza liczba, przez co długość pierwszej i/lub drugiej części byłaby różna.
Przykład:
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;
Wynik:
Dodatkowy przykład
W tym przykładzie używam PRZESYŁANIE
przekonwertować drugą część na liczbę całkowitą bez znaku na wypadek, gdyby zawierała dodatkowe znaki, takie jak symbole lub litery. Innymi słowy, druga część „web-4/15”. będzie „15”, a druga część „web-4/15****” również będzie „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;