안녕하세요...
초보개발자입니다.
많은 데이터 중에 MAX가 아닌데이터만 추출해야 하는데요...
죄송합니다. 쿼리를 보여드리는게 맞느데 회사규정이 그래서..
1.
SELECT *FROM TBN A
WHERE A.SN NOT IN (SELECT MAX(SN) FROM TBN B WHERE B.SN = A.SN)
아님...
2.
SELECT *FROM TBN
FROM ( SELECT SN, ROW_NUMBER() OVER (PARTITION BY SN ORDER BY RNT DESC) RK
FROM TBN
)
WHERE RK > 1
어느 쿼리가 속도면이 좋은가요? 데이터가 많은 편이라 MAX아닌걸 추출해서 작업하는것도 시간이 꽤 걸리네요..
고수님께 문의 드립니다.
아.. 죄송합니다. 마음이 급해서 ..
1.
SELECT *FROM TBN A
WHERE (A.SN || A.RNT) NOT IN (SELECT SN || MAX(RNT) FROM TBN B WHERE B.SN = A.SN GROUP BY SN)
아님...
2.
SELECT *FROM TBN
FROM ( SELECT SN, ROW_NUMBER() OVER (PARTITION BY SN ORDER BY RNT DESC) RK
FROM TBN
)
WHERE RK > 1
입니다.. 건수는 하루에 20만건정도이고
인덱스는 인터페이스정보라 저희쪽에서 제어가 안되네요...
먼저 감사드립니다..