sql-a1、a2、a3、a4…a101的按函数排序

h4cxqtbf  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(321)

我是sql新手,遇到了困难。
如果我有一列a1,a2,a3…a1000
当我按此列排序时,它显示为a1、a100、a2。。。我明白为什么。
尝试: order by left(length(company.company_code),-1) ASC; 我试着用上面的方法来切断a,但是没有运气?
有什么建议吗?

mjqavswn

mjqavswn1#

下面是一个简单的方法:

order by length(company.company_code), company.company_code

它首先按字符串的长度排序,然后按字符串的其余部分排序。
你也可以这样做:

order by cast(substr(company.company_code, 2, 10) as int)

这假设一个字母后的数字不超过9位。

相关问题