我有一张看起来像这样的表:
ID | uid | vcode | vcode_next
1 1 abc
2 2 def
3 2 ghi
4 1 jkl
5 1 mno
我需要使用给定用户ID的下一个vcode更新vcode_next。所以结果应该是:
ID | uid | vcode | vcode_next
1 1 abc jkl
2 2 def ghi
3 2 ghi
4 1 jkl mno
5 1 mno
我已经看到一些类似的问题,这些问题有不同的要求选择更新值,但我无法弄清楚如何为给定用户ID的下一个值实现它。
任何提示都会非常感激。
答案 0 :(得分:1)
您可以使用同一个表格执行JOIN
并执行UPDATE
之类的
UPDATE table1 a
JOIN table1 b ON a.uid = b.uid AND a.ID < b.ID
SET a.vcode_next = b.vcode;
修改强>
发布的查询工作正常,并根据您的帖子提供准确的rsult。请参阅此演示小提琴http://sqlfiddle.com/#!9/4f020/1以获取证明。它会在UPDATE