有表
CREATE TABLE IF NOT EXISTS `test`.`stat` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`user_id` INT(11) NULL DEFAULT NULL,
`tarif_id` INT(11) NULL DEFAULT NULL,
`in` INT(11) NULL DEFAULT NULL,
`out` INT(11) NULL DEFAULT NULL,
`time` INT(11) NOT NULL,
`date` DATETIME NOT NULL,
`next_date` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
数据示例:
有下一个问题。如何编写更新查询来填充此用户下一行的 next_date
where next_date
=date
(user_id
)
最佳答案
这是一种通过加入同一个表来实现的方法
update stat t1
join
(
select
id,date,user_id
from stat
)t2
on t2.user_id = t1.user_id
AND t2.id > t1.id
set t1.next_date = t2.date ;
<强> DEMO
关于mysql - 使用相同的表和行偏移进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24288459/