私は次の表にデータを持っています:
ID SAL
_______________
1 1500
1 1500
1 2000
1 1500
2 2500
2 2500
3 1500
私は同じデータを照会したい しかし 新しい列は、(id列とsal列に基づいて)複製された各行のシーケンスを与えます。
私の希望するクエリの結果は、次のようになります。
ID SAL ROW_SEQ
_______________________
1 1500 1
1 1500 2
1 2000 1
1 1500 3
2 2500 1
2 2500 2
3 1500 1
誰にでも何か考えがある お願いします!..
回答:
回答№1は1ここではROW_NUMBER()関数を使用します。
SELECT ID, SAL, ROW_NUMBER() OVER (PARTITION BY ID, SAL, ORDER BY SAL) AS ROW_SEQ
FROM MyTable
ORDER BY ID, SAL
あなたの2つのフィールドを分割することで、各グループ内で順番にランキングが付けられます。
そのドキュメントは次の場所にあります: https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions137.htm