sql >> Base de Datos >  >> RDS >> Mysql

SQL para ordenar una cadena alfanumérica por la parte numérica

Suponiendo que su columna puede contener abc-1 u otros valores también como estos, como defg-12 y quieres pedir abc unos primero y los otros después.

SELECT 
    *
FROM
    your_table
ORDER BY SUBSTRING_INDEX(t, '-', 1) , CAST(SUBSTRING_INDEX(t, '-', - 1) AS UNSIGNED);