日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

常用3种数据库的Sql分页

發布時間:2025/3/15 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用3种数据库的Sql分页 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在程序的開發過程中,處理分頁是大家接觸比較頻繁的事件,因為現在軟件基本上都是與數據庫進行掛釣的。但效率又是我們所追求的,如果是像原來那樣把所有滿足條件的記錄全部都選擇出來,再去進行分頁處理,那么就會多多的浪費掉許多的系統處理時間。為了能夠把效率提高,所以現在我們就只選擇我們需要的數據,減少數據庫的處理時間,以下就是常用SQL分頁處理:?
   1、SQL Server、Access數據庫?
   這都微軟的數據庫,都是一家人,基本的操作都是差不多,常采用如下分頁語句:?
   PAGESIZE:每頁顯示的記錄數?
   CURRENTPAGE:當前頁號?
   數據表的名字是: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數據庫?
   因為Oracle數據庫沒有Top關鍵字,所以這里就不能夠像微軟的數據據那樣操作,這里有兩種方法:?
   (1)、一種是利用相反的。?
   PAGESIZE:每頁顯示的記錄數?
   CURRENTPAGE:當前頁號?
   數據表的名字是: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到當前的記錄總數。?
select * from (select rownum tid,components.
* from components where rownum<=100) where tid<=10;

總結

以上是生活随笔為你收集整理的常用3种数据库的Sql分页的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。