有这么一个表,请问怎么写sql做排序?
排序前
id parent path sort
1 0 , 50
2 0 , 40
3 0 , 60
4 1 ,1, 10
5 1 ,1, 10
6 2 ,2, 10排序后
id parent path sort
2 0 , 40
6 2 ,2, 10
1 0 , 50
4 1 ,1, 10
5 1 ,1, 10
3 0 , 60
排序前
id parent path sort
1 0 , 50
2 0 , 40
3 0 , 60
4 1 ,1, 10
5 1 ,1, 10
6 2 ,2, 10排序后
id parent path sort
2 0 , 40
6 2 ,2, 10
1 0 , 50
4 1 ,1, 10
5 1 ,1, 10
3 0 , 60
from 有这么一个表 t
order by if(parent=0,id,parent),id
select t1.* from t t1 left join t t2 on t1.parent=t2.id order by if(t1.parent!=0,t2.sort,t1.sort),t1.parent