按字符串数字排序
所以需要把字符串类型的数字转为数字类型的,mysql可以使用 cast 或者 convert 函数进行转换。
举例:
select * from user a order by cast(a.num as decimal(10,2)) desc
结果:
若字段中全是整数无小数点,也可以使用下面的方式进行排序
select * from test order by cast(number as SIGNED) desc
按百分比排序
按百分比排序,需要把百分号去掉,剩下的和按字符串数字排序处理方法一样。
去掉百分号:使用REPLACE函数(mysql8及以上也可以使用正则表达式提取数字,REGEXP_SUBSTR(file_name , ‘\\d+’))
select * from user a order by cast(REPLACE(a.rate, '%', '') as decimal(10,2)) desc
结果:
© 版权声明
文章来源于互联网,版权归原作者所有,如有侵权,请联系管理员,我们会及时删除。
相关文章
暂无评论...