【发布时间】:2019-02-25 20:14:57
【问题描述】:
我有下表(称为 node_items):
id node_id position
== ======= ========
1 1 1
2 1 1
3 2 1
4 2 1
5 2 1
6 2 1
7 3 1
8 3 1
9 3 1
10 3 1
position 字段应该标记节点中的项目位置。它们目前都设置在1。我想通过为每个 node_id 的每个项目设置一个增量位置来修复此表。所以,我追求的结果是:
id node_id position
== ======= ========
1 1 1
2 1 2
3 2 1
4 2 2
5 2 3
6 2 4
7 2 5
8 3 1
9 3 2
10 3 3
所以我需要以某种方式按 node_id 对每个项目进行分组,并将位置设置为初始值 1,并为具有该 node_id 的每个后续项目递增它。
注意:为了让我的解释简单,上面的 node_ids 按顺序显示(1,1,2,2,2,2,2,3,3,3),但通常情况并非如此。
我可以使用什么查询来增量更新每个 node_id 的位置值?
【问题讨论】:
标签: mysql sql-update