Конечно, вы можете сделать это следующим образом (если я понять ваши требования правильно):
order by field(t.name, 'Jenny', 'Matt', 'Jimmy', 'Craig', 'Sue') desc
EDIT:
На самом деле, если вы хотите обработать общий случай с числом уже - неизвестные значения столбца и количество неизвестных значений, общим случаем было бы сделать известные значения появляться в начале набора результатов (в предопределенном порядке), а остальные после них. Для этого вы должны добавить предопределенные значения в обратном порядке в список аргументов функции field
и сделать порядок по убыванию.
Этот способ «Сью» будет первым (field
возвращает 5), «Крейг» - второй (4 возвращается) и так далее до «Дженни». Для значений, не входящих в список аргументов, field
возвращает 0. Таким образом, они перейдут в конец набора результатов.
Ссылка: FIELD
Так есть ли алгоритм вы хотите использовать, или это просто случайное и база данных никогда не будет иметь никаких других имен, чем эти? – Cellfish