Мне нравится выбирать строку по приоритету в MySQL.Я не знаю, возможно ли это, но см. Пример ниже:
id name
1 John
2 Doe
3 Mary
4 Jhonny
Предположим, что я не знаю идентификатор, но по определенной причине мне нужно выбрать по приоритету: 3, 2, 1 ... В этом случае будет выбран МЭРИ (# 3).Но если мне потребуется выбрать по порядку 5, 2, 1, будет выбран DOE (# 2).
Хорошо, я могу сделать это с помощью IN (5, 2, 1).Проблема в том, что если у меня нет результатов (например, IN (5, 6, 7)), мне нужна хотя бы одна строка (неважно, что).
Например: выберите 5,6, 7 ... ничего не найдено ... затем выберите первое найденное (как у ДЖОНА).
Возможно?
Пока!
Редактировать : Я только подумал об этом решении, но я не знаю, как быстро это должно быть, но оно работает хорошо.Примите ответ, который имеет лучший ориентир, чтобы никто не проиграл.
ORDER BY FIND_IN_SET(`id`, '5,6,7') DESC