Mysql - Order By不生效 踩坑记录(【string类型】)

一、记录:在用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)整型类型,这样能避坑!

 

posted @ 2023-04-21 12:55  李若盛开  阅读(355)  评论(0)    收藏  举报