Oracle의 SQL 문에 큰 문제가 있습니다. 다른 select 문에서 목록에없는 STORAGE_DB에서 주문한 TOP 10 레코드를 선택하고 싶습니다.
이것은 모든 레코드에 대해 잘 작동합니다.
SELECT DISTINCT
APP_ID,
NAME,
STORAGE_GB,
HISTORY_CREATED,
TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') AS HISTORY_DATE
FROM HISTORY WHERE
STORAGE_GB IS NOT NULL AND
APP_ID NOT IN (SELECT APP_ID
FROM HISTORY
WHERE TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') = '06.02.2009')
하지만 내가 추가 할 때
AND ROWNUM <= 10
ORDER BY STORAGE_GB DESC
어떤 종류의 "무작위"기록을 받고 있습니다. 주문 전에 제한이 있기 때문에 생각합니다.
누군가 좋은 해결책이 있습니까? 다른 문제 :이 쿼리는 실제로 느립니다 (10k + 레코드)