order by case when

select * 
from view_bug_search view1 ,
        (select ROW_NUMBER() over(order by id desc ) as rownumber,id
         where 1=1 and 
                state in (1,2,3,4,5,6,9,12,14,15,16,18,19) and 
                (owner=88 or submitter=88 or itemcharger=88 or checkowner=88 or checkowner1=88 or checkowner2=88 or checkowner3=88 or testcharger=88 or belong=88 or belong1=88 or belong2=88 or belong3=88) ) row_view 
where view1.id=row_view.id and 
           row_view.rownumber between 1 and 20 
order by case 
                      when bugosstate=0 then 'severity desc' 
                      else 'thedate desc' 
               end
 

实现不同的 bugosstate = 0的时候 按 severity 排序  bugosstate<>0的时候 按thedate排序

猜你喜欢

转载自hybxiaodao.iteye.com/blog/1436629
今日推荐