在按(equipment_no)在ASC中排序后,我有一列的值如下,我想知道如何对其进行排序正确地显示在下一个列表中。
SELECT equipment_no FROM fas_details WHERE equipment_no LIKE 'T%' ORDER BY equipment_no
请告诉我您的建议。谢谢。
mysql如何排序
T - AG - 01
T - AG - 02
T - AG - 07
T - AG - 08
T - AG - 09
T - AG - 10
T - AG - 100
T - AG - 101
T - AG - 102
T - AG - 103
T - AG - 104
T - AG - 11
T - AG - 12
T - AG - 13
我想要的样子
T - AG - 01
T - AG - 02
T - AG - 07
T - AG - 08
T - AG - 09
T - AG - 10
T - AG - 11
T - AG - 12
T - AG - 13
T - AG - 100
T - AG - 101
T - AG - 102
T - AG - 103
T - AG - 104
最佳答案
试试这个:
Order By CAST(SUBSTRING_INDEX(equipment_no,'-',-1) AS UNSIGNED)
或者你可以尝试像这样使用 RIGHT
CAST(RIGHT(equipment_no, (CHARINDEX('-',REVERSE(equipment_no),0))-1) AS UNSIGNED)
关于mysql - 如何对 MYSQL 中的字母数字列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35288902/