查询一个列表C(编号a,类型b,时间c,等级d),类型分1类型1按A降序排列,类型2按B升序排列,在此基础上按时间排序
难点在于按时间排序和按等级排序条件有冲突,必须在保证等级顺序不变的情况下排序
查询一个列表C(编号a,类型b,时间c,等级d),类型有1、2两种,类型1按等级d降序排列,类型2按等级d升序排列,在此基础上,不改变原来先后顺序按时间c排序
追答sqlserver:--一个是数据库版本可能不对应,另一个没看懂时间要怎么排
;with cte as(
select *,row_number() over(partition by type order by level)rn from #t
)
,cte1 as(
select *,row_number() over(partition by type order by level desc)row from cte
)select * from cte1 order by type,case when type=2 then rn else row end