За да получите сортирането в реда, който искате, използвайте вашите условия в ORDER BY, но използвайте DESC
след тях.
SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
condition1 DESC,
condition2 DESC,
condition3 DESC
Ако това не работи, защото вашата заявка е по-сложна, тогава можете да използвате булева логика, за да промените заявката си (A OR B OR C) AND D
в (A AND D) OR (B AND D) OR (C AND D)
тогава можете да използвате следната заявка:
SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
condition1 AND static DESC,
condition2 AND static DESC,
condition3 AND static DESC
AND static
не е необходимо тук, защото всички редове го връщат, но в по-сложен пример (където връщате и някои редове, които не са статични), тогава ще трябва да го направите по този начин.