Mysql没有对正确的值进行排序

Mysql没有对正确的值进行排序,mysql,phpmyadmin,Mysql,Phpmyadmin,我有mysql排序的问题,所以如果有人能帮我解决这个问题,我会很高兴 在我一点也不明白之前,我是如此的高兴 这些已排序 他们是瓦查尔10。它们使用字符串比较进行排序。字符串1000小于字符串999,因为第一个字符串1的第一个字符小于第二个字符串9的第一个字符 如果这些是数字,则应将其存储在数据库中。考虑使用十进制类型。 如果确实需要存储为varchar,则需要在排序之前将强制转换值转换为十进制值。尝试执行以下操作: ORDER BY (best_feralhog + 0.0) 它将按数字排

我有mysql排序的问题,所以如果有人能帮我解决这个问题,我会很高兴 在我一点也不明白之前,我是如此的高兴

这些已排序

他们是瓦查尔10。它们使用字符串比较进行排序。字符串1000小于字符串999,因为第一个字符串1的第一个字符小于第二个字符串9的第一个字符

如果这些是数字,则应将其存储在数据库中。考虑使用十进制类型。 如果确实需要存储为varchar,则需要在排序之前将强制转换值转换为十进制值。

尝试执行以下操作:

 ORDER BY (best_feralhog + 0.0)

它将按数字排序,但将忽略后缀字母。

由于列的类型是varchar,因此它使用字母排序,这与数字排序完全不同。其他人可能会告诉您如何将其按数字排序,或者您可以将列分成两部分:一个数字和后缀T,W部分。在这种情况下,你甚至可以将后缀设为枚举。耶呼…我的头枕不见了。谢谢大家的帮助。解决方案是按总和+0.0描述限制排序欢迎使用堆栈溢出。请考虑点击复选框来接受帮助您的最佳答案/正确答案。这允许您的问题帮助其他用户。