私は大きなデータセットを持っています。2番目のレコードのみを選択してください。
Name | Age | Hire_Date | Manager
---------------------------------------
Bob | 24 | 01/01/2016 | Mark
Sue | 31 | 01/01/2014 | Fred
Mark | 37 | 01/01/2011 | Dawn <----
Mark | 37 | 01/01/2011 | Cindy <----
Jean | 29 | 01/01/2015 | Larry
Arron | 47 | 01/01/2004 | Todd
私は隔離するために必要なものを表示するには3番目と4番目の行の横の矢印を入れている。しかし、簡単にするために、私はこのようなデータセットを持っているとしましょう。 MarkのマネージャーがDawnからCindyにどのように変更されたかに注意してください。私はこのデータセットを選択したいが、マークに対応する2つのレコードのうちの1つだけを選択したい。私はマネージャーがシンディーである第二を選択したいと思います。
私のデータセットはかなり大きく、このシナリオは数回起こります。上記のような2つのレコードがあり、2番目のレコードのみを選択する必要があります。 Oracleでこれを行うための方法はありますか?例の状況では2つのレコードのうちの2番目のレコードのみを選択し、残りの通常レコードを含めますか?
行3を「最初」のレコードにし、行4を「2番目」のレコードにするのはなぜですか?他の列には、それらを区別するためのものはありません。あなたのデータに何か他のものがありますか?または、それはランダムな選択ですか、2つのいずれかを選ぶのですか? (そして、いいえ、マークのマネージャーがDawnからCindyに変わったことに気づくことはできません - あなたが示すデータに基づいてCindyからDawnに変わったこともあります) – mathguy
@mathguy、2つのレコードは正確に最初のレコードでマネージャ名がDawnで、2番目のレコードでマネージャ名がCindyであることを除いて同じです。マネージャー名はそれらを区別します。それはランダムな選択ではありません。 2番目のレコードは最新のものなので、最初はそれを取ります。言い換えれば、シンディー良い、ドーン悪い。かなりストレートです。 – Zolt
ヒープ構成表の行は、本質的に順序付けられていません。 ORDER BY句のない「最初の」行や「2番目の」行はありません。しかし、Cindy行がDawn行の後ろにあると言う結果を出すために使用できるものは何もないようです。そうであれば、その質問は一般的に答えることができません。 –