WITH TEST_TABLE AS
(
SELECT '1' ID, 'SEOUL' LOC, '01' MON, 100 AMOUNT, 1 INPUT FROM DUAL
UNION ALL
SELECT '1' ID, 'PUSAN' LOC, '01' MON, 100 AMOUNT, 1 FROM DUAL
UNION ALL
SELECT '1' ID, 'SEOUL' LOC, '02' MON, 100 AMOUNT, 0 FROM DUAL
UNION ALL
SELECT '1' ID, 'PUSAN' LOC, '02' MON, 100, 1 FROM DUAL
)
SELECT ID, LOC, MON, AMOUNT, RN
FROM (
SELECT TEST_TABLE.*, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY AMOUNT DESC) RN
FROM TEST_TABLE
) A;
---------
위와같이 PARTITION BY 로 기준이 같을때는 어떤순서로 RN이 매겨지나요?
RN 이 1,2,3,4 로 나오긴하는데요. 그런데 기준이 같거든요.
(랜덤인지 아니면 어떠한 기준이 있어서 항상 같은 결과가 오나요?)
1,1,1,1로 나오는건 아니네요..
|