我需要查询出所有的行,但想把满足特定值的行排在前面。例如:    表A  有字段, id, name , userid, age.
                  1    a      1       21    
                  2    b      2       31
                  3    c      2       23
                  4    d      3       23我需要查询出所有值,但希望userid=2的排在最前面。也就是结果为
 id, name , userid, age
 2    b      2       31
 3    c      2       23
 1    a      1       21
 4    d      3       23该如何写sql呢?求助各位大侠。

解决方案 »

  1.   

    搞定,太低级了,各位见笑了。SELECT * FROM A ORDER BY userid=2 DESC; 这样就行,
      

  2.   

    方法很多,包括一楼你自己的方法,这是最常见的。
    其它也类似比如 order by if(userid=2,0,1)
      

  3.   

    表A  有字段, id, name , userid, age.
                      1    a      1       21    
                      2    b      2       31
                      3    c      2       23
                      4    d      3       23
    select * from 表A where userid=2
    union 
    select * from  表A where userid no in(2)