MySQL / PDO排序问题

时间:2016-03-13 09:45:29

标签: php mysql sorting

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

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

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

我尝试过ORDER BY business_name ASC,verification_status DESC“);`并且没有显示任何内容。

2 个答案:

答案 0 :(得分:0)

您可以使用CASE

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

答案 1 :(得分:0)

... ORDER BY FIELD(verification_status, 'gold', 'silver', 'bronze')