Как вариант есть способ через case, но вариант begemot_sun возможно отработает быстрее но на всякий случай:
SELECT *,
case
when name like '%дмитрий%' then 1
when name like '%елена%' then 2
when name like '%мария%' then 3
end as sort
FROM users
WHERE first_name LIKE "%дмитрий%" OR
first_name LIKE "%елена%" OR
first_name LIKE "%мария%"
order by sort
Вам нужно попробовать выполнить объединение запросов:
SELECT * FROM users WHERE name LIKE "%дмитрий%"
UNION ALL
SELECT * FROM users WHERE name LIKE "%елена%"
UNION ALL
SELECT * FROM users WHERE name LIKE "%мария%"