一、记录:在用order by排序时,发现结果与“逻辑” 不符合!!!
SELECT ch FROM `test` ORDER BY ch DESC //降序
二、猜想:以为是ASCII的原因?
三、验证:数字0到9的ASCII码值分别为48到57,所以排除此原因。
四、启发:通过查资料 order by int ,突然发现是数据类型的问题!
总结:
1、当order by 排序字段 为数字时,则符合按照数字大小排序的规则;
2、当order by 排序字段 为字符串时,则需要根据字符的先后顺序按照大小进行排序。(一般为纯数字的字段,可设计为tinyint(4)整型类型,这样能避坑!)
标签:ch,数字,Order,Mysql,排序,order,string From: https://www.cnblogs.com/beatleC/p/17339977.html