/ / Jak zapytać o dane z sekwencją zduplikowanych wierszy - sql, oracle, oracle11g

Jak wyszukiwać dane za pomocą sekwencji zduplikowanych wierszy - sql, oracle, oracle11g

Mam następującą tabelę z danymi:

    ID  SAL
_______________
1   1500
1   1500
1   2000
1   1500
2   2500
2   2500
3   1500

Chcę zapytać o te same dane ALE z nową kolumną, która podaje sekwencję każdego zduplikowanego wiersza (na podstawie kolumn id i sal).

Moje pożądane wyniki zapytania powinny wyglądać tak:

   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

Każdy ma jakiś pomysł PROSZĘ!..

Odpowiedzi:

1 dla odpowiedzi № 1

Chcesz użyć funkcji ROW_NUMBER () tutaj.

SELECT ID, SAL, ROW_NUMBER() OVER (PARTITION BY ID, SAL, ORDER BY SAL) AS ROW_SEQ
FROM MyTable
ORDER BY ID, SAL

Podział na dwa żądane pola daje ranking w każdej grupie w sposób sekwencyjny.

Dokumentację na ten temat można znaleźć tutaj: https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions137.htm