/ / Как да заявите данни с последователност от дублирани редове - 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

Чрез разделянето на вашите две желани полета, тя ще ви даде класиране във всяка група по последователен начин.

Документацията можете да намерите тук: https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions137.htm