67,512
社区成员
发帖
与我相关
我的任务
分享
order by type desc,level desc,vip.createtime,notvip.createtime desc
select type,level,createTime from
(
select
type,
level,
createTime,
case when type=='no' then -1 else level end level_forOrder,
case when type=='no' then createTime*-1 else createTime end createTime_forOrder
from person_info
) order by type desc,level_forOrder asc,createTime desc
试试 order by t.type desc,t.creatTime desc
select * from(select * from person_info t where t.type='vip' order by (case when t.level='1' then 1 when t.level='0' then 2 else 0 end),t.creatTime)
UNION ALL
select * from(
select * from person_info t where t.type='no' order by t.creatTime DESC)
不清楚有没有更好的方法