name  num
cc    11
bb    22    
zz    32
tt    31
other 87我想按照name排序,select * from table1 order by name;但是这样会得到:name  num
bb    22  
cc    11  
other 87
tt    31
zz    32如何才能是other排在最后,其他都是按照顺序呢?有没有什么简单的方法?

解决方案 »

  1.   

    select * from table1 order by decode(name,'other',chr(123),name);
      

  2.   

    select * from table1 order by length(name) desc,name;
    ok?
      

  3.   

    select * from table1 order by decode(name,'other',NULL,name);
      

  4.   

    用decode(name,'other',null,name)是最好的,个人认为
      

  5.   

    select * from table1 order by decode(name,'other',NULL,name);
    个人认为不错。
      

  6.   

    select * from table1 order by decode(name,'other',NULL,name);
    能不能解释一下这句啊?