Mysql phpmyadmin订购错误的号码

Mysql phpmyadmin订购错误的号码,mysql,phpmyadmin,numbers,Mysql,Phpmyadmin,Numbers,可能是个愚蠢的问题 但如果我想按名为code的字段排序,那么它的排序如下: 1, 101, 102, 1010, 2, 201, 2003 我想点的是: 1, 2, 101, 102, 201, 1010, 2003 代码字段为:VAR(4)。(Var,因为INT将零作为起始数字,即0110到110,这是不好的。)我使用:orderbycode ASC进行排序。如果代码的数据类型是varchar,并且使用“orderbycode ASC”对数据进行排序,那么数据的顺序将基于ASCII。尝试使

可能是个愚蠢的问题

但如果我想按名为
code
的字段排序,那么它的排序如下:

1, 101, 102, 1010, 2, 201, 2003
我想点的是:

1, 2, 101, 102, 201, 1010, 2003

代码字段为:VAR(4)。(Var,因为INT将零作为起始数字,即0110到110,这是不好的。)我使用:
orderbycode ASC

进行排序。如果代码的数据类型是varchar,并且使用“orderbycode ASC”对数据进行排序,那么数据的顺序将基于ASCII。尝试使用:“按长度(代码)排序,代码”

如果代码的数据类型为varchar,并且您使用“按代码asc排序”对数据进行排序,则数据的顺序将基于ASCII。尝试使用:“按长度(代码)排序,代码”

我现在明白了。999之后是0111。有没有办法在0之后得到这个?事实上我不知道。我现在不知道。但是你为什么不把所有的代码都变成4位数呢。所以,你的999变成0999,然后1变成0001,依此类推。现在已经太迟了,这个公司的项目已经按那样编号了。。不幸的是,我现在看到了。999之后是0111。有没有办法在0之后得到这个?事实上我不知道。我现在不知道。但是你为什么不把所有的代码都变成4位数呢。所以,你的999变成0999,然后1变成0001,依此类推。现在已经太迟了,这个公司的项目已经按那样编号了。。不幸的是,请查看与MySQL服务器版本对应的手册,以了解第6行“code)ASC LIMIT 0,20”附近使用的正确语法。[代码](“从item.itemgroupid=itemgroup.itemgroupid的item内部联接itemgroup中选择*,status上的item内部联接状态。statusid=item.status所有者的内部联接所有者。ownerid=item.owner按转换(int,代码)ASC限制$startpoint,$LIMIT)排序”);我不明白演员阵容,因为数字看起来像是随机排列的。CONVERT仍然存在语法错误,但我认为它必须放在SELECT子句中。尽管如此,转换为INT将用111、231和21替换0111、0231、0021等代码。检查这些帖子,如果它们有帮助-,并且,imho,数字不应保存为字符串。尽管如此,请检查与MySQL服务器版本相对应的手册,了解第6行“code)ASC LIMIT 0、20”附近使用的正确语法。[代码](“从item.itemgroupid=itemgroup.itemgroupid的item内部联接itemgroup中选择*,status上的item内部联接状态。statusid=item.status所有者的内部联接所有者。ownerid=item.owner按转换(int,代码)ASC限制$startpoint,$LIMIT)排序”);我不明白演员阵容,因为数字看起来像是随机排列的。CONVERT仍然存在语法错误,但我认为它必须放在SELECT子句中。尽管如此,转换为INT将用111、231和21替换0111、0231、0021等代码。检查这些帖子,如果它们有帮助-,imho,数字不应保存为字符串。。
SELECT CODE FROM tableName ORDER BY CONVERT(INT,CODE) ASC;