как отсортировать определенное значение в начале? - PullRequest
0 голосов
/ 04 апреля 2020

как я могу отобразить слово Not Listed в самом начале, чтобы даже в моем раскрывающемся меню оно показывало вверху, а затем остальные данные?

items
-------

id    name

1     some name 1
2     some name 2
3     some name 3
4     Not Listed
5     some name 4
6     some name 5

Ответы [ 3 ]

0 голосов
/ 04 апреля 2020

В общем, я формулирую это, используя DESC, так что выражение ORDER BY может быть тем, что хочет быть первым:

order by (name = 'Not Listed') desc, name

Это странная комбинация MySQL, которую "ложные" сортируют перед "правда". Следовательно, поместите «истинное» выражение и используйте DESC, чтобы сделать его первым, и ASC, чтобы поставить его последним.

0 голосов
/ 04 апреля 2020

Используйте order by FIELD(name,'Not Listed') desc следующим образом

select * from table_name
order by FIELD(name,'Not Listed') desc
0 голосов
/ 04 апреля 2020

С условной сортировкой:

select * from items
order by name <> 'Not Listed', name

См. Демоверсию . Результаты:

| id  | name        |
| --- | ----------- |
| 4   | Not Listed  |
| 1   | some name 1 |
| 2   | some name 2 |
| 3   | some name 3 |
| 5   | some name 4 |
| 6   | some name 5 |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...