Mysql: Ordenar por como?

suponha que estamos realizando uma pesquisa usando palavras-chave: keyword1, keyword2, keyword3

existem registros no banco de dados com a coluna "nome":

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

now Query:

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

ele selecionará registros: 1,2,3 (nesta ordem), mas eu quero ordená-lo por palavra-chave no exemplokeyword1=John, keyword2=Doe portanto, deve ser listado por palavras-chave: 1,3,2 (porque eu quero fazer uma pesquisa por "Doe" depois de pesquisar por "John")

Eu estava pensando sobreSELECT DISTINCT FROM (...... UNION .....) mas será muito mais fácil solicitá-lo de outra maneira (a consulta real é realmente longa)

existem truques para criar essa ordem?

questionAnswers(5)

yourAnswerToTheQuestion