Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

SQL para ordenar uma string alfanumérica pela parte numérica


Supondo que sua coluna possa conter abc-1 ou outros valores muito parecidos com esses, como defg-12 e você deseja pedir abc uns primeiro e os outros depois.
SELECT 
    *
FROM
    your_table
ORDER BY SUBSTRING_INDEX(t, '-', 1) , CAST(SUBSTRING_INDEX(t, '-', - 1) AS UNSIGNED);