这是我的示例表:
column_example
10
20
25
50
这就是我想要的:
column_example2
10
5
25
我确定这是一个简单的问题,但我没有在SQLite Syntax web page或通过Google找到答案。
编辑:为了澄清,代码可能会返回以下输出: 20-10 25-20 50-25
答案 0 :(得分:7)
这个解决方案可能很慢,但我不得不考虑成功rowid
之间的潜在差距:
http://sqlfiddle.com/#!5/daeed/1
SELECT
(SELECT x
FROM t AS t3
WHERE t3.rowid =
(SELECT MIN(tt.rowid)
FROM t AS tt
WHERE tt.rowid > t.rowid
)
)
- x
FROM t
WHERE diff IS NOT NULL
如果保证rowid
之间没有任何差距,那么您可以使用这个更简单的查询:
http://sqlfiddle.com/#!5/1f906/3
SELECT t_next.x - t.x
FROM t
INNER JOIN t AS t_next
ON t_next.rowid = t.rowid + 1