Untuk mendapatkan pengurutan dalam urutan yang Anda inginkan, gunakan ketentuan Anda di ORDER BY, tetapi gunakan DESC
mengejar mereka.
SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
condition1 DESC,
condition2 DESC,
condition3 DESC
Jika ini tidak berhasil karena kueri Anda lebih kompleks, maka Anda dapat menggunakan logika boolean untuk mengubah kueri Anda (A OR B OR C) AND D
menjadi (A AND D) OR (B AND D) OR (C AND D)
maka Anda dapat menggunakan kueri berikut:
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
tidak diperlukan di sini karena semua baris mengembalikannya, tetapi dalam contoh yang lebih kompleks (di mana Anda juga mengembalikan beberapa baris yang tidak statis) maka Anda harus melakukannya dengan cara ini.