Om de sortering in de gewenste volgorde te krijgen, gebruikt u uw voorwaarden in de ORDER BY, maar gebruikt u DESC
na hen.
SELECT *
FROM person
WHERE (condition1 OR condition2 OR condition3)
AND maintable.status = static
ORDER BY
condition1 DESC,
condition2 DESC,
condition3 DESC
Als dit niet werkt omdat uw zoekopdracht complexer is, kunt u booleaanse logica gebruiken om uw zoekopdracht te wijzigen (A OR B OR C) AND D
in (A AND D) OR (B AND D) OR (C AND D)
dan kunt u de volgende zoekopdracht gebruiken:
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
De AND static
is hier niet nodig omdat alle rijen het retourneren, maar in een complexer voorbeeld (waar je ook enkele rijen retourneert die niet statisch zijn) dan zou je het op deze manier moeten doen.