比如表table
字段id ,name,age,cityselect name from table 
where age in (20,21,22,23,24) 
or city in( beijing,shanghai,shenzhen)我如何让age是22排在前面
或者让age是22的又是北京的排在前面我这现在默认是按id排的

解决方案 »

  1.   

    select name from table
    where age in (20,21,22,23,24)
    or city in( beijing,shanghai,shenzhen)
    order by case when age=22 then -1 else id end
    --order by case when age=22 and city='beijing' then -1 else id end
      

  2.   

    order by case when age=22 then 1 else 2 end
      

  3.   

    那个-1是什么意思呢?
    无穷大吗?
    我换成任意的数字都可以
    加desc