다름이 아니라 특정 테이블의 데이터를 조회 하는데
rownum 과 order by를 사용 하면 먼저 where절의 rownum <= 10에의해 10개의
레코드 추출후 이에 대한 order by 절이 적용 되어서요.. ㅠ.ㅠ
결국 제가 원하는 건 생성일자로 정렬한 후 그 중에서 제일 빠른 10개의
레코드를 추출 하고자 합니다.
어찌 해야 할까요?
이중 select를 사용 하면 가능은 하지만 레코드가 많은 경우 너무 늦어서요.
도움좀 부탁 드립니다.
select *
from test_tb
where rownum <= 10
order by crt_date desc;
/* order by 절 이전에 먼저 10개를 추출 하고 그 10개에서 정렬을 하므로 아무 의미 없음. */
select a.* from
(select * from test_tb
order by crt_date desc)
where rownum <= 10;
/* 원하는 답은 얻어오나 데이터 량이 많으면 하세월 */
ㅠ.ㅠ
제발 도움 부탁 드립니다.
|