2016-09-30 14 views
0

同じIDを持つ2つの行の値(Val)の差を取得してSQLクエリから返す方法を知りたいと思います。ここでの難しさは、2行目と1行目の違いであり、各IDには2行しかないということです。同じIDを持つ2つの行のSQLの差

私はSQLite 3.8.6を使用しています。ここで

は私のテーブルには、次のようになります。

ID Val TimeStamp 
+---+----+---------------------+ 
| 2 | 7 | 2015-05-09 12:54:39 | 
| 2 | 2 | 2015-05-09 14:48:30 | 
| 3 | 16 | 2015-05-09 13:19:57 | 
| 3 | 20 | 2015-05-09 15:01:09 | 
+---+----+---------------------+ 

は私がで終わるしたい:

ID Val 
+---+----+ 
| 2 | -5| 
| 3 | 4 | 
+---+----+ 
+0

使用しているデータベースとのあなたの質問を編集してください。 –

答えて

4
select 
    t1.id,t2.val-t1.val AS [Val] 
from table t1 
inner join table t2 ON t1.ID=t2.ID 
    AND t1.TimeStamp<t2.Timestamp 
+0

ソリューションのt1とt2は何ですか? –

+0

これらはテーブルの別名です。あなたの質問にあなたが示したテーブルです。 – NETRookie

+0

@Ghost、私が与えたテーブルが最初のクエリから来たことを知っていますが、どうやってそれを呼び出しますか? –

関連する問題