2个回答
展开全部
只移动“图书”一项,按照表里的parent_id和id来看是不可能的,因为还有“百货”这个跟“图书”类似的记录,但是可以只移动“百货”和“图书”,排序按先parent_id再id就行(这样相同parent_id的记录不会打乱顺序),如下:
select *
from product
order by parent_id, id;
望采纳,谢谢
追问
谢谢,但是我这个需要排列好后,便于网页调用的,一定要是:0是大类后面是小类,0是大类后面是小类,这里面就2个大类,这样排序,能解决吗?
追答
这样排序就是先按大类(parent_id)排序,然后大类里面再按小类(id)排序。
除非你希望大类里的小类按名字排序?那就把排序换成
order by parent_id, name
展开全部
如果你的 0001-9010数据类型是字符串型 那排序 肯定不是按 0001-9010排序的,你试一下把数据类型改成int型
追问
没有用字符串排列,我是按照它的整形parent_id为0,就取它的整形id,如果不为0,就取它的parent_id,这样的一个新字段就有了,就是用order by后,后面的数据就全换位置了,怎么能把那一条数据移动的指定位置,其他的往后移动一个位置.求解,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询