使用ORACLE 中ROWNUM方法實現數據庫分批獲取


ROWNUM能夠對查詢結果進行編號,之后選擇合適區間內容進行返回即可

String sql="select * from (";
        sql+="select ROWNUM AS rowno, t.* from "+datatbname+" t where ("+column.get(0)+" like '%"+key+"%'";
        for(int i=1;i<column.size();i++){
            sql+=" or "+column.get(i)+" like '%"+key+"%'" ;
        }
        sql+=") and ROWNUM <= "+maxnum+" ORDER BY years DESC) table_alias  WHERE table_alias.rowno > "+minnum;

這樣可以獲取到最大最小區間內的數據,減少查詢時間。

select * from (select ROWNUM AS rowno, t.* from DATA_JGJB_QC t where (DWYZBM like '%河北%' or DWJB like '%河北%') and ROWNUM <= 10 ORDER BY years DESC) table_alias  WHERE table_alias.rowno > 0

上邊的sql語句可以獲取到0-10條數據。需要注意與or連用時要加括號。

也可參考https://blog.csdn.net/xiha_zhu/article/details/79690259


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM