表字段
id 编号
name 名
pid 父id
有如下表
id name pid
1  A    0
2  B    0
3  C    0
4  D    1
5  E    2
6  F    3  sql后得出
id name pid
1  A    0
4  D    1
2  B    0
5  E    2
3  C    0
6  F    3

解决方案 »

  1.   

    mysql> select * from t_starnight_cbj;
    +------+------+------+
    | id   | name | pid  |
    +------+------+------+
    |    1 | A    |    0 |
    |    2 | B    |    0 |
    |    3 | C    |    0 |
    |    4 | D    |    1 |
    |    5 | E    |    2 |
    |    6 | F    |    3 |
    +------+------+------+
    6 rows in set (0.00 sec)mysql> select id,name,pid
        -> from t_starnight_cbj
        -> order by if(pid=0,id,pid) ,id;
    +------+------+------+
    | id   | name | pid  |
    +------+------+------+
    |    1 | A    |    0 |
    |    4 | D    |    1 |
    |    2 | B    |    0 |
    |    5 | E    |    2 |
    |    3 | C    |    0 |
    |    6 | F    |    3 |
    +------+------+------+
    6 rows in set (0.00 sec)mysql>