在数据库中排序后就乱了

只想把图书移动到音乐下面,其他的往下不打乱数据,怎么做啊,求解?谢谢!... 只想把图书移动到音乐下面,其他的往下不打乱数据,怎么做啊,求解?谢谢! 展开
 我来答
百度网友75e0ae8
2018-05-29 · TA获得超过5537个赞
知道大有可为答主
回答量:2491
采纳率:91%
帮助的人:1407万
展开全部

只移动“图书”一项,按照表里的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
答碧莉C
2018-05-29 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:41.6万
展开全部
如果你的 0001-9010数据类型是字符串型 那排序 肯定不是按 0001-9010排序的,你试一下把数据类型改成int型
追问
没有用字符串排列,我是按照它的整形parent_id为0,就取它的整形id,如果不为0,就取它的parent_id,这样的一个新字段就有了,就是用order by后,后面的数据就全换位置了,怎么能把那一条数据移动的指定位置,其他的往后移动一个位置.求解,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式