mysql order by 与预期不一致原因 mysql order by 与预期不一致原因 SELECT * FROM `student` order by flag asc ,score asc 表结构 查询结果 排序结果与预期不一致的原因在于 flag 字段的类型是 varchar,而不是 int 或 double 等数字类型,所以 mysql 在使用 order by 排序时是按照字符串的形式来排序的。你可以从上图中看出来,它是按照 flag 字段上的值的首位数字来排序的,所以 1456 排在了最前面,而 89 排在了最后面。