/ /重複した行のシーケンスでデータを照会する方法 - sql、oracle、oracle11g

重複した行のシーケンスでデータを照会する方法 - sql、oracle、oracle11g

私は次の表にデータを持っています:

    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