希望する順序で並べ替えを行うには、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
すべての行がそれを返すため、ここでは必要ありませんが、より複雑な例(静的ではないいくつかの行も返す)では、この方法で行う必要があります。