id    name 
1     张三
2     李四
3     王五
4     其他
5     超刘等等现在所有显示排序项把其他这一个人显示到最后
select * from table order by id如何把其他这个人放到最后边

解决方案 »

  1.   

    查出来放到list里
    再进行排序就可以了
      

  2.   

    select *
      from (select * from table where id != 4 order by id)
    union all
    select * from table where id = 4
      

  3.   

    union all  oracle中能用吗?
      

  4.   

    union all
    就是在ORACLE里用的,性能也高
      

  5.   

    select id, 
           case when id=4 then 999 else id end as order_id
           name
    from table
    order by order_id
      

  6.   

    用存储过程不就好了,或者直接2条sql
    当然,用union all也不错
      

  7.   


    select decode(order_id,4,999,order_id) id,name
    from table
    order by order_id这里用这个简单点
      

  8.   


    呵呵,oracle的decode我用的不熟。确实可以这样的。
      

  9.   

    union all 这是什么意思...
      

  10.   

    如果是好的设计,应该再加一个字段,标识name的类别
    如果不用那么复杂,就用union all,判断条件我觉得应该用name来做判断,而不是用id