
上图所示,明明是按照降序排列的,为什么会出现这种混乱的排序呢?
原因:STOREHOUSE_NO这个字段在数据库中储存的类型是VARCHAR,这种类型的字段,mysql在使用order by进行查询时,是根据字符进行排序的,第一个字符大的在前面,依次类推,所以就会出现如上图的排序。
解决:要想得到int类型的排序,执行如下sql语句
select es.STOREHOUSE_NO from ERP_STOREHOUSE es order by es.STOREHOUSE_NO+0 desc

上图所示,明明是按照降序排列的,为什么会出现这种混乱的排序呢?
原因:STOREHOUSE_NO这个字段在数据库中储存的类型是VARCHAR,这种类型的字段,mysql在使用order by进行查询时,是根据字符进行排序的,第一个字符大的在前面,依次类推,所以就会出现如上图的排序。
解决:要想得到int类型的排序,执行如下sql语句
select es.STOREHOUSE_NO from ERP_STOREHOUSE es order by es.STOREHOUSE_NO+0 desc
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。