如何从 Mysql 查询中获取下一行值

How to get next row value from Mysql Query

我想使用 SQLYog 从 MySql 查询中获取 (select) 下一行值,其中 一样id_voyage_order?

示例:

id_timesheet | id_voyage_order | Duration
----------------------------------------

1            | 106             | 0.00
2            | 106             | 24.00
3            | 210             | 12.00
4            | 106             | 12.00
5            | 210             | 24.00

我想 select 它并在查看文件 Yii 中基于相同的 id_voyage 命令变成这样并将最后一条记录的持续时间设置为 0 :

id_timesheet | id_voyage_order | Duration
1.           | 106             | 24.00
2.           | 106             | 12.00
4.           | 106             | 0.00

例如:

SELECT a.id_timesheet
     , a.id_voyage_order
     , COALESCE(b.duration,0) duration
  FROM my_table a
  LEFT
  JOIN  
     ( SELECT x.*
             , MAX(y.id_timesheet) previous
          FROM my_table x 
          JOIN my_table y 
            ON y.id_voyage_order = x.id_voyage_order 
           AND y.id_timesheet < x.id_timesheet 
         GROUP 
            BY x.id_timesheet
      ) b
     ON b.previous = a.id_timesheet
  WHERE a.id_voyage_order = 106;