私は、次の条件を使用してSQLを使用してテーブルを作成しました:sqlで次の条件を実行する方法は?
create table tbl2 as
select a.*, rank() over (partition by col1 order by col2) as rnk
from tbl1
は、今私は、以下の条件でレコードを選択したいTBL2から別のテーブルを作成したい:レコードが利用できる唯一のランクを持っている場合、私はそのレコードを選択しますが、レコードに複数のランクがある場合は、2番目のランクのレコードを選択します。私は例をあげてみましょう:
col1 rnk
1 1
2 1
2 2
3 1
3 2
3 3
所望の出力:
col1 rnk
1 1
2 2
3 2
どのように私は、SQLを使用して、私の出力を得るのですか?
は何RDBMS、使用している、第二ランクは2ではない場合のために動作しませんか。 –
私はoracle 11gを使用しています – user3740154
私の答えはSQL Serverで動作するはずですが、私はoracleがそれをどのように処理するかはわかりません。それを試してみてください。また、今後の質問では、関連するrdbmsにタグを付けてください。 –