【问题标题】:Order_by error 1 10 11 12Order_by 错误 1 ​​10 11 12
【发布时间】:2018-08-12 20:41:21
【问题描述】:

我的 php 代码在 Order_by 中出现错误,这会导致出现错误顺序的链接出现 1 2 3 4 5。 它出现了 1 10 11 12

有人可以帮我解决这个问题吗?

$this->db->order_by('source_type', "DESC");

我认为虽然这是一个奇怪的问题,但对于许多需要解决这个问题的人来说非常有用.. 我在互联网上没有找到任何可以帮助我解决这个问题的东西

【问题讨论】:

  • 确保您的source_type 类型为INT。好像是varchar

标签: php mysql sql-order-by helper


【解决方案1】:

您的source_type 字段似乎被声明为VARCHAR。如果你尝试

SELECT '2' > '10'

您将得到 1 (true) 的结果。因此,要使值正确排序,您需要将它们转换为整数,即

ORDER BY CAST(source_type AS UNSIGNED) DESC

在不了解您的框架的情况下,很难确切知道如何在 order_by 方法中指定它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 2015-09-09
    • 1970-01-01
    • 2019-03-20
    相关资源
    最近更新 更多