Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Oracle从当前行与上一行的减法_Php_Sql_Oracle - Fatal编程技术网

PHP Oracle从当前行与上一行的减法

PHP Oracle从当前行与上一行的减法,php,sql,oracle,Php,Sql,Oracle,我有如下数据: Time | Count 17:31:49 17:35:52 17:36:54 17:38:12 17:39:12 17:40:12 17:41:57 17:43:47 17:45:27 17:48:12 17:48:17 现在我需要用前一行减去当前行 所以这将是这样的: Time | Count 17:31:49 formula: 17:35:52 - 17:31:49 = 04:03 17:35:52 formula: 17:36:54 -

我有如下数据:

Time      | Count
17:31:49
17:35:52
17:36:54
17:38:12
17:39:12
17:40:12
17:41:57
17:43:47
17:45:27
17:48:12
17:48:17
现在我需要用前一行减去当前行

所以这将是这样的:

Time      | Count
17:31:49    formula: 17:35:52 - 17:31:49 = 04:03
17:35:52    formula: 17:36:54 - 17:35:52 = 01:02
17:36:54    formula: 17:38:12 - 17:36:54 = 01:58
17:38:12    and so on
17:39:12
17:40:12
17:41:57
17:43:47
17:45:27
17:48:12
17:48:17

是否可以只使用query进行计算,或者需要PHP(我正在使用这个)来进行计算?

基本上,您可以使用
lead()

尚不清楚时间的数据类型是什么。如果是
日期
,则可以进行减法运算,得到一个十进制数,表示天数的差值;您可以格式化或使用算术来获得所需的结果

如果它是其他数据类型(字符串?),那么您需要构建自己的逻辑来处理减法

select time, lead(time) over(order by time) - time diff
from mytable