比如有个表有张表字段为id和state
id   state
1--->3
2--->4
3--->3
4--->1
我怎么把state值为3的显示在最前面
排序后结果为:
1--->3
3--->3
2--->4
4--->1

解决方案 »

  1.   

    sql语名完成不了这个变态的需求,你需要正常排序后,把3单独的提取出来,然后再与其它的合并!
      

  2.   

    select .... order by state=3 DESC, state DESC这可不是“变态的需求”
    这个要求很普遍,比如一个具有置顶功能的bbs
      

  3.   

    select .... order by state DESC 
      

  4.   

    可以,请看如下语句:
    select id,state,if(state=3,1,0) as settop from tablename order by settop desc,id asc;
      

  5.   

    order by state=3 DESC, state DESC 学习