27,579
社区成员
发帖
与我相关
我的任务
分享
select row_number() over(order by (case when vipendtime<getdate() then 0 else viplevel end) desc) rownum,id, reallevel=(case when vipendtime<getdate() then 0 else viplevel end) from T_user
select row_number() over(order by reallevel desc) rownum,id, reallevel=(case when endtime<getdate() then 0 else viplevel end) from T_user
select reallevel = (case when vipendtime<GETDATE() then 0 else viplevel end) from T_test order by reallevel desc
可以在外面再嵌套一层。
select
row_number() over(order by reallevel desc) rownum,*
from
(
select
id,
reallevel=(case when vipendtime<getdate() then 0 else viplevel end)
from
T_user ) as t