2016-03-13 3 views
1

У меня есть строка MySQL, которая заканчивается следующим образом: ORDER BY business_name ASC Здесь имена компаний сортируются в алфавитном порядке. Теперь я должен различать бизнес, который проверен, и те, которые не являются. Есть три уровня проверки: это непроверенные, бронзовые, серебряные и золотые.Ошибка сортировки по MySQL/PDO

Я хочу отображать все значения с помощью MySQL, но как я могу отображать их отсортированными по первому золоту, второму серебряному, третьему бронзу и, наконец, четвертому непроверенным. Я хочу, чтобы каждая категория золота, серебра, бронзы и непроверенных была отсортирована по алфавиту одинаково.

Начальная строка ORDER BY business_name ASC хорошо работала, так как она хорошо отображала весь бизнес. Я сделал это, чтобы проверить, работает ли мой поиск.

Я пытался делать ORDER BY BUSINESS_NAME находится ASC, verification_status DESC ");` и ничего не отображается

ответ

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 
0
... ORDER BY FIELD(verification_status, 'gold', 'silver', 'bronze') 
.
Смежные вопросы