Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL pour ordonner une chaîne alphanumérique par la partie numérique

En supposant que votre colonne peut contenir abc-1 ou d'autres valeurs comme celles-ci uniquement, telles que defg-12 et vous souhaitez commander abc les uns d'abord et les autres après.

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