Mysql order by 排序 varchar 类型数据
varchar 类型字段排序, 会將数字当成字符串来处理. 排序规则一般是从左到右一位位来比较.
+0之后 就转化成INT 类型排序
数据库表中 某个字段类型为varchar
想用sql实现排序 超找出这个字段topN的值。
想到 用order by desc
例如sql:
SELECT * FROM testTable where fcode=40006 and fmotype='bu100101' order by fvalue desc limit 0,10
出现
12
14
1566
16
2425
25
27
这样的情况
数据库应该是按照每位进行比较 得到的结果。可以修改成
SELECT * FROM testTable where fcode=40006 and fmotype='bu100101' order by fvalue+0 desc;