Задать вопрос
@eldar_web

Как в MySQL (SQL) можно выводить (отсортировать) по своему?

Есть в БД таблица city:
id | name
1 | Ростов
2 | Москва
3 | Краснодар.

А как можно выводить в таком порядке: Москва, Ростов, Краснодар не меняя id?
  • Вопрос задан
  • 2283 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Введите дополнительное поле pos, если Вам так необходимо руками выставить уникальное расположение записи в списке. При этом id не меняется, а порядок следования Вы можете задавать самостоятельно:

id | pos | name
1  | 2   | Ростов
2  | 1   | Москва
3  | 3   | Краснодар
Ответ написан
@Nc_Soft
ORDER BY FIELD
Ответ написан
Комментировать
kawabanga
@kawabanga
Если вам нужно отсортировать единожды, то скопируйте в соседнюю таблицу с правильной сортировкой.
Если вам нужно сортировать по позиции, то используйте первый предложенный выше вариант.
Ответ написан
Комментировать
@inververs
ORDER BY FIELD(name, 'Ростов', 'Москва', 'Краснодар')
Ответ написан
Комментировать
error500
@error500
PHP-developer
SELECT * FROM `table_name` ORDER BY name = 'Москва' DESC, name DESC
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы