在当前查询中,按四列之和排序。您可以使用least
获取最低值,因此order by子句如下所示:
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
当然,这将仅按最低值排序。如果两行都共享相同的最小值,则第二低的值不会排序。要做到这一点要困难得多,而且我并没有真正从您的问题中得知您是否需要那个。