これが私のテーブルの例です:
column_example
10
20
25
50
これが私が望むものです:
column_example2
10
5
25
これは簡単な質問だと思いますが、 SQLite Syntax の Web ページや Google
で答えを見つけることができませんでした。
編集: 明確にするために、コードは次の出力を返す可能性があります: 20-10 25-20 50-25
これが私のテーブルの例です:
column_example
10
20
25
50
これが私が望むものです:
column_example2
10
5
25
これは簡単な質問だと思いますが、 SQLite Syntax の Web ページや Google
で答えを見つけることができませんでした。
編集: 明確にするために、コードは次の出力を返す可能性があります: 20-10 25-20 50-25
この解決策は遅いかもしれませんが、私は成功するものの間の潜在的なギャップを考慮しなければなりませんでした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