【问题标题】:MySQL / PDO sorting issueMySQL / PDO 排序问题
【发布时间】:2016-06-28 09:11:49
【问题描述】:

我有一个如下结尾的 MySQL 字符串:ORDER BY business_name ASC 这里的企业名称按字母顺序排序。现在我必须区分经过验证的业务和未经过验证的业务。验证分为 3 个级别,分别是未验证、青铜、白银和黄金。

我想使用 MySQL 显示所有值,但是如何按第一金、第二银、第三铜和最后第四未验证的顺序显示它们。我希望金、银、铜和未验证的每个类别都按字母顺序排序。

ORDER BY business_name ASC 的初始字符串运行良好,因为它很好地显示了所有业务。我这样做是为了看看我的搜索是否有效。

我尝试执行 ORDER BY business_name ASC, verify_status DESC");` 并没有显示任何内容。

【问题讨论】:

    标签: php mysql sorting


    【解决方案1】:

    你可以使用CASE:

    ORDER BY CASE verification_status 
                WHEN 'gold'   THEN 1 
                WHEN 'silver' THEN 2
                WHEN 'bronze' THEN 3 
                ELSE 4
             END,
             business_name ASC
    

    【讨论】:

      【解决方案2】:
      ... ORDER BY FIELD(verification_status, 'gold', 'silver', 'bronze')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-11
        • 2014-03-20
        • 1970-01-01
        • 1970-01-01
        • 2012-06-26
        相关资源
        最近更新 更多