mysql - 下一列中的窥视值

标签 mysql

我有一个像这样的 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

http://sqlfiddle.com/#!2/340897/1

关于mysql - 下一列中的窥视值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21615900/

相关文章:

mysql - 如何修复 MYSQL auto_increment 丢失的值

mysql - MySQL 中何时使用单引号、双引号和反引号

mysql - 具有限制和偏移量的 PDO 不起作用....所以

mysql - 如何从我的 MySQL 表中删除相似的行?

mysql - 如何在 rails 范围内编写原始 sql?

mysql - FROM_UNIXTIME 使用 mysql ubuntu 返回 null

MYSQL - 更新/内连接

mysql - mysql错误1130

php - 本地主机连接的安全性

mysql - 如何在mysql中使用count(*) WHERE IN