解决方案 »

  1.   

    mysql> select * from t_dld11111;
    +------+-------+
    | id   | reply |
    +------+-------+
    |    1 |     0 |
    |    2 |     0 |
    |    3 |     0 |
    |    4 |     1 |
    |    5 |     3 |
    +------+-------+
    5 rows in set (0.00 sec)mysql> select id
        -> from t_dld11111
        -> order by if(reply>0,reply,id),id;
    +------+
    | id   |
    +------+
    |    1 |
    |    4 |
    |    2 |
    |    3 |
    |    5 |
    +------+
    5 rows in set (0.00 sec)mysql>
      

  2.   

    mysql> select GROUP_CONCAT(id ORDER BY if(reply>0,reply,id),id SEPARATOR ' ')
        -> from t_dld11111;
    +-----------------------------------------------------------------+
    | GROUP_CONCAT(id ORDER BY if(reply>0,reply,id),id SEPARATOR ' ') |
    +-----------------------------------------------------------------+
    | 1 4 2 3 5                                                       |
    +-----------------------------------------------------------------+
    1 row in set (0.00 sec)mysql>