我有一个有 4 列的表,其中一列称为“顺序”。 “Order”不是自动递增的,但另一列“mapping_id”是自动递增的。其他列包括“quiz_id”和“question_id”。
我想将“order”的所有值更改为与 Question_id 字段相同的升序。我的应用程序仅根据此“顺序”列进行排序,因此我可以重新排序的唯一方法是编辑此列中的值。
我想知道的是如何编写更新查询来更改“order”的所有值以按升序排列。我只想将“order”的值与“question_id”的值匹配,但是question_id从2而不是1开始,并且“order”必须从1开始。感谢您提供的任何帮助!
像下面这样的东西可能会满足您的需求。它将递增的值分配给order
基于question_id
订购:
select @ordval := 0;
update thetable set `order` =
(select @ordval := @ordval + 1) order by question_id;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)