我有一个像这样的 mysql 示例 View 表
ID Starttime Endtime
1 19
2 38
3 90
是否可以从下一列中查看下一个开始时间值并减去 1,以便它应该是前一列的结束时间?变成这样:
ID Starttime Endtime
1 19 37
2 38 89
3 90 ....
我需要知道是否可以使用 mysql 查询来完成:
请注意,这只是一个 View ,而不是实际的表格。
谢谢
最佳答案
http://sqlfiddle.com/#!2/59a1d2/2
例如,您可以使用自连接
select t1.id, t1.start_time, t2.start_time -1 end_time
from times t1 join times t2 on t1.id = t2.id-1
编辑
对于开始时间与结束时间相同的地方
select t1.id, t1.start_time, greatest(t1.start_time,t2.start_time-1) end_time
from times_v t1 join times_v t2 on t1.id = t2.id-1
关于mysql - 下一列中的窥视值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21615900/