ORACLE ROWNUM 사용시 주의
2024. 1. 24. 12:29ㆍ백엔드/기본
반응형
ROWNUM=1 을 하는순간...
1개를 가지고 ORDER BY 를 한다고 생각하면 된다.
하면 안되는 경우
SELECT *
FROM TABLE_A
OUTER APPLY (
SELECT X, Y, Z
FROM TABLE_B
WHERE TABLE_A.ID = TABLE_B .ID AND ROWNUM = 1
ORDER BY ID
) TABLE_Z
해야되는 경우
SELECT *
FROM TABLE_A
OUTER APPLY (
SELECT *
FROM (
SELECT
ROW_NUMBER() OVER ( ORDER BY ID DESC ) AS RN
,X, Y, Z
FROM TABLE_B
WHERE TABLE_A.ID = TABLE_B .ID
ORDER BY ID
)
RN = 1
) TABLE_Z
반응형