RMV1983
@RMV1983

Возможна ли сложная сортировка с условием в MySQL ?

Есть поле по которому нужно отсортировать, но не совсем по-порядку, т.е. должно получиться что-то вроде такого: 1;1;1;2;4;3;2;4;3;5;5;…
1 - в начале, а дальше - как получится. т.е. вывести определённое значение "наверх".
А остальные данные что бы сортировались уже позже и по другим полям?
На данный момент у меня там полная сортировка по нескольким полям через запятую в ORDER - и получается так:
1 | a
1 | Z
2 | a
2 | Z
3 | a
3 | Z
А нужно так:
1 | a
1 | Z
2 | a
3 | a
2 | Z
3 | Z

(Оба поля - varchar, utf-8)
Вариант с введением ещё одного поля, по которому идёт сортировка, знаю. Сложный SELECT тоже не нужен. Интересует - можно ли сделать одним SQL запросом, может есть какая-то стандартная заготовка?
MySQL 5
  • Вопрос задан
  • 2864 просмотра
Решения вопроса 1
WebSpider
@WebSpider
Посмотрите в сторону ORDER BY FIELD(...)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap
Можно еще CASE WHEN писать в ORDER
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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