このクエリーは、Oracleをバックエンドとして使用しているときに望ましい結果を示します。interbaseでSQL LEAD()とLAG()クエリを書くには?
select field1,
field2
from
(select field1,
field2,
LEAD(field2) over (order by r) name
from
(select rownum r,
field1,
field2
from t3
where field2 = 1
)
)
where v != nvl(name, -1);
しかし、分析機能lag()
とlead()
がInterBase6でサポートされていないので、InterBaseデータベースへの照会ながら、私は問題に直面しています。
私の要件は、array field2={1,3,4,4,3,4}
なら、結果は{1,3,4,3,4}
となるはずです。
で見つけることができるhttp://firebirdsql.org/file([それは 'lead'と' lag'サポート]を、3火の鳥への切り替えを検討/documentation/release_notes/html/en/3_0/rnfb30-dml-windowfuncs.html#d0e6678)。あなたはまだInterbase 6にいますか?それは17年前にリリースされました... Firebird 0.xがInterbase 6からフォークされていた頃でした。 –
@ Ashish4434 - 質問はまだ開いています。あなたが答えのどれかに満足すれば、それを「受け入れ」、その質問は閉じられるかもしれません。 [誰かが私の質問に答えるときに何をすべきか](http://stackoverflow.com/help/someone-answers)を読んでください。また、以前の質問を閉じてみてください。 – Utsav