我正在努力獲取基於rownum的數據。當我執行下面的查詢來獲得基於rownum 1 to 4
的結果時,它工作正常。oracle中rownum的祕密
SELECT ROWNUM TOTAL,MI.* FROM (SELECT USER_ID,CUSTOMER_NAME FROM ELEC_AUTO_MERC
ORDER BY CREATION_DATE DESC) MI WHERE ROWNUM BETWEEN 1 AND 4;
但是,當我執行相同的查詢,以獲得從rownum 2 to 4
結果,那麼它是不工作,它不返回任何東西。
SELECT ROWNUM TOTAL,MI.* FROM (SELECT USER_ID,CUSTOMER_NAME FROM ELEC_AUTO_MERC
ORDER BY CREATION_DATE DESC) MI WHERE ROWNUM BETWEEN 2 AND 4;
解決方法是,當我使用一個以上的SELECT語句,然後它工作正常,但我不認爲這是隻使用了ROWNUM選擇多次不錯的辦法。
SELECT * FROM (SELECT ROWNUM TOTAL,MI.* FROM (SELECT USER_ID,CUSTOMER_NAME FROM ELEC_AUTO_MERC
ORDER BY CREATION_DATE DESC) MI) WHERE TOTAL BETWEEN 2 AND 4;
你能幫我創建優化查詢嗎?
非常感謝戴夫爲此做出的澄清.. –