首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php编号从mysql asc排序

php编号从mysql asc排序
EN

Stack Overflow用户
提问于 2014-01-25 15:41:53
回答 3查看 131关注 0票数 3

我要从ASC那里得到订单号码。在我的mysql表中,它用- (ex )编写。1-2;2-3;15-60等)

现在我得到了秩序:

15-60;1-2;2-3;

为什么不是1-2;2-3;15-60?

我在我的opencart里做新的分类。我使用的进行新排序的教程:按大小排序opencart

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-25 15:43:54

你可以尝试:

代码语言:javascript
运行
复制
SELECT *
FROM yourtable
ORDER BY numbers + 0

若要自动将VARCHAR列强制转换为数字,并正确应用顺序,请执行以下操作。

请看小提琴这里

票数 3
EN

Stack Overflow用户

发布于 2014-01-25 16:03:44

假设您的订单号实际上是带有连字符的数字字符串,默认情况下您将得到字符串排序顺序。

您可以将字符串转换为整数,但更好的方法可能是存储由零数字字符适当填充的序号,以便将15-60、1-2、2-3存储为015-060、001-002、002-003 (或适当的填充程度)。然后字符串排序顺序和数字排序顺序将是相同的,您不需要进行强制转换。

票数 0
EN

Stack Overflow用户

发布于 2014-01-25 16:16:24

您也可以使用这个

代码语言:javascript
运行
复制
 SELECT  *
 FROM yourtable
 ORDER BY CAST(numbers as unsigned)

这里的演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21352593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档