您可以通过为每个选择添加一个名为rank的伪列来执行此操作,在按照其他条件进行排序之前,可以首先对其进行排序,例如:
select *from ( select 1 as Rank, id, add_date from Table union all select 2 as Rank, id, add_date from Table where distance < 5 union all select 3 as Rank, id, add_date from Table where distance between 5 and 15) aorder by rank, id, add_date desc



