select distinct * from a where (A='1' and B='2') or A='1' or B='2'
ORDER BY CASE WHEN (A='1' and B='2') THEN 1 WHEN A='1' THEN 2 ELSE 3 END

解决方案 »

  1.   

    不明白楼主的意思。
    select distinct * from a where (A='1' and B='2') 
      

  2.   

    select distinct * from a where (A='1' and B='2') or A='1' or B='2'
    ORDER BY CASE WHEN (A='1' and B='2') THEN 1 WHEN A='1' THEN 2 ELSE 3 END
      

  3.   

    select distinct *,CASE WHEN (A='1' and B='2') THEN 1 WHEN A='1' THEN 2 ELSE 3 END  from a where (A='1' and B='2') or A='1' or B='2'
    ORDER BY CASE WHEN (A='1' and B='2') THEN 1 WHEN A='1' THEN 2 ELSE 3 END
      

  4.   

    select distinct *,CASE WHEN (A='1' and B='2') THEN 1 WHEN A='1' THEN 2 ELSE 3 END  from a where (A='1' and B='2') or A='1' or B='2'
    ORDER BY CASE WHEN (A='1' and B='2') THEN 1 WHEN A='1' THEN 2 ELSE 3 END
      

  5.   

    select * from (select distinct * from a where (A='1' and B='2') or A='1' or B='2') tem order by case when A='1' and B='2' then 1 when A='1' then 2 when B='2' then 3 else 4 end