クエリに問題があります。
これはデータです(タイムスタンプ順):
Data
ID Value Timestamp
1 0 2001-1-1
2 0 2002-1-1
3 1 2003-1-1
4 1 2004-1-1
5 0 2005-1-1
6 2 2006-1-1
7 2 2007-1-1
8 2 2008-1-1
個別の値と日付の最初の出現を抽出する必要があります。ここでの例外は、その時間枠内に新しい値で中断されない場合にのみ、それらをグループ化する必要があることです。したがって、必要なデータは次のとおりです。
ID Value Timestamp
1 0 2001-1-1
3 1 2003-1-1
5 0 2005-1-1
6 2 2006-1-1
私は複雑なクエリでこれを機能させましたが、もっと簡単な方法があると確信しています。誰でも助けてもらえますか?
これは私が始めたものです - おそらくそれでうまくいくでしょう。これは、値が変更されたときに検索するクエリです。
> SELECT * FROM Data d1 join Data d2 ON d1.Timestamp < d2.Timestamp and
> d1.Value <> d2.Value
おそらく、row_number 句をうまく使用して実行できますが、管理できません。