久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

幫助中心 >  技術(shù)知識庫 >  數(shù)據(jù)庫 >  相關(guān)技術(shù)支持 >  利用SQL語句對不同數(shù)據(jù)庫進行高效果分頁

利用SQL語句對不同數(shù)據(jù)庫進行高效果分頁

2016-11-02 16:57:12 168

利用SQL語句對不同數(shù)據(jù)庫進行高效果分頁


在程序的開發(fā)過程中,處理分頁是大家接觸比較頻繁的事件,因為現(xiàn)在軟件基本上都是與數(shù)據(jù)庫進行掛鉤的。但效率又是我們所追求的,如果是像原來那樣把所有滿足條件的記錄全部都選擇出來,再去進行分頁處理,那么就會多多的浪費掉許多的系統(tǒng)處理時間。為了能夠把效率提高,所以現(xiàn)在我們就只選擇我們需要的數(shù)據(jù),減少數(shù)據(jù)庫的處理時間,以下就是常用SQL分頁處理:


  1、SQL Server、Access數(shù)據(jù)庫


  這都微軟的數(shù)據(jù)庫,都是一家人,基本的操作都是差不多,常采用如下分頁語句:


  PAGESIZE:每頁顯示的記錄數(shù)


  CURRENTPAGE:當(dāng)前頁號


  數(shù)據(jù)表的名字是:components


  索引主鍵字是:id


  select top PAGESIZE * from components where id not in

  (select top (PAGESIZE*(CURRENTPAGE-1))

  id from components order by id)order by id

  如下列:


  select top 10 * from components where id not in

  (select top 10*10 id from components order by id)

  order by id

  從101條記錄開始選擇,只選擇前面的10條記錄


  2、Oracle數(shù)據(jù)庫


  因為Oracle數(shù)據(jù)庫沒有Top關(guān)鍵字,所以這里就不能夠像微軟的數(shù)據(jù)庫那樣操作,這里有兩種方法:


  (1)、一種是利用相反的。


  PAGESIZE:每頁顯示的記錄數(shù)


  CURRENTPAGE:當(dāng)前頁號


  數(shù)據(jù)表的名字是:components


  索引主鍵字是:id


  select * from components where id not

  in(select id from components where

  rownum<=(PAGESIZE*(CURRENTPAGE-1)))

  and rownum<=PAGESIZE order by id;

  如下例:


  select * from components where id not in

  (select id from components where rownum<=100)

  and rownum<=10 order by id;

  從101到記錄開始選擇,選擇前面10條。


  (2)、使用minus,即中文的意思就是減去。


  select * from components where rownum

  <=(PAGESIZE*(CURRENTPAGE-1)) minus

  select * from components where rownum

  <=(PAGESIZE*(CURRENTPAGE-2));

  如例:


  select * from components where

  rownum<=10 minus select * from components

  where rownum<=5;.

  (3)、一種是利用Oracle的rownum,這個是Oracle查詢自動返回的序號,一般不顯示,但是可以通過select rownum from [表名]看到,注意,它是從1到當(dāng)前的記錄總?。


  select * from (select rownum tid,components.

  * from components where rownum<=100) where tid<=10;



提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: