Mysql: заказ как?

Предположим, что мы выполняем поиск по ключевым словам: keyword1, keyword2, keyword3

в базе данных есть записи с колонкой "имя":

1: John Doe
2: Samuel Doe
3: John Smith
4: Anna Smith

Теперь запрос:

SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")

он выберет записи: 1,2,3 (в этом порядке), но я хочу упорядочить его по ключевому слову в примереkeyword1=John, keyword2=Doe поэтому он должен быть указан по ключевым словам: 1,3,2 (потому что я хочу выполнить поиск «Доу» после поиска «Джон»)

Я думал оSELECT DISTINCT FROM (...... UNION .....) но будет намного проще заказать его как-нибудь по-другому (реальный запрос очень длинный)

Есть ли какие-нибудь хитрости для создания такого заказа?

Ответы на вопрос(1)

Ваш ответ на вопрос