我被一些 SQL 难住了,我有几行数据,我想从前一行中减去一行,并让它一直重复下去。
所以这里是表格:
创建表 foo ( ID, 长度 )
插入 foo (id,length) VALUES(1,1090) 插入 foo (id,length) 值 (2,888) 插入 foo (id,length) 值 (3,545) 插入 foo (id,length) 值 (4,434) 插入 foo (id,length) VALUES(5,45)
我希望结果显示称为差异的第三列,它是从下面的一行中减去一行,最后一行从零中减去。
+--------+-------------+ | 编号 |长度 | 区别 | +--------+-------------+ | 1 | 1090 | 202 | | 2 | 888 | 第343章 | 3 | 第545章 111 | | 4 | 第434章 389 | | 5 | 45 | 45 |
我已经尝试过自我加入,但我不确定如何限制结果而不是让它自行循环。我不能依赖 id 值对于给定的结果集是连续的,所以我没有使用该值。我可以扩展模式以包含某种顺序值。
这是我尝试过的:
SELECT id, f.length, f2.length, (f.length - f2.length) AS 差异 FROM 富 f, 富 f2
谢谢你的帮助。