Имам следната таблица с данни:
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