Mysql 使用相同的表和行偏移量进行更新

Mysql 使用相同的表和行偏移量进行更新,mysql,sql,sql-update,Mysql,Sql,Sql Update,有桌子吗 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(1

有桌子吗

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
数据示例:


我有下一个问题。如何为fill next_date编写更新查询,其中next_date=下一行的日期此useruser_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 ;

所以,对于第一行用户\u id=3,下一个\u日期将设置什么值?id=528的行的日期我尝试了一些类似的方法,但没有连接。谢谢!