SQLite:如何从另一行中减去一行中的值?

Use*_*ame 2 sqlite

这是我的示例表:

column_example
10
20
25
50
Run Code Online (Sandbox Code Playgroud)


这就是我想要的:

column_example2
10
5
25
Run Code Online (Sandbox Code Playgroud)


我确信这是一个简单的问题,但我没有在SQLite语法网页或Google中找到答案.

编辑:澄清一下,代码可能会返回输出:20-10 25-20 50-25

biz*_*lop 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
Run Code Online (Sandbox Code Playgroud)

如果保证rowids 之间没有任何差距,那么您可以使用这个更简单的查询:

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
Run Code Online (Sandbox Code Playgroud)