Nella tua query attuale, ordini in base alla somma delle quattro colonne. Puoi utilizzare least
per ottenere il valore più basso, quindi il tuo ordine per clausola potrebbe essere simile a:
SELECT *
FROM vehicle
ORDER BY
`revisit` DESC,
CASE WHEN `revisit` = 1 THEN LEAST(`FL`, `FR`, `RR`, `RL`) END ASC,
CASE WHEN `revisit` = 0 THEN `date` END ASC
Ovviamente questo ordinerebbe solo in base al valore più basso. Se due righe condividono lo stesso valore più basso, non viene eseguito alcun ordinamento sul secondo valore più basso. Farlo è un po' più difficile e non ho davvero capito dalla tua domanda se ne hai bisogno.