久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > 網站建設 > MSSQL MySQL 數據庫分頁(存儲過程)建站知識

MSSQL MySQL 數據庫分頁(存儲過程)建站知識

時間:2023-05-22 08:05:22 閱讀: 文章分類: 網站建設 作者: 網站編輯員

導讀:1建站知識有關分頁 SQL 的資料很多,有的使用存儲過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用存seo網站關鍵詞優化個業網站建設公司。

seo網站關鍵詞優化個業網站建設公司先看看單條 SQL 語句的分頁 SQL 吧。 方法1: 適用于 SQL Server 2000/2005

復制代碼 代碼如下:

SELECT TOP 頁大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 頁大小*(頁數-1) id FROM table1 ORDER BY id ) ORDER BY id

方法2: 適用于 SQL Server 2000/2005

復制代碼 代碼如下:

SELECT TOP 頁大小 * FROM table1 WHERE id > ( SELECT ISNULL(MAX(id),0) FROM ( SELECT TOP 頁大小*(頁數-1) id FROM table1企業網站建設 ORDER BY id ) A ) ORDER BY id

方法3: 適用于 SQL Server 2005

復制代碼 代碼如下:

SELECT TOP 頁大小 網站優化seo培訓* FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ) A WHERE RowNumber > 頁大小*(頁數-1)

方法4: 適用于 SQL Server 2005

復制代碼 代碼如下:

row_number() 必須制定 order by ,不指定可以如下實現,但不能保證分頁結果正確性,因為排序不一定可靠。可能第一次查詢記錄A在第一頁,第二次查詢又跑到了第二頁。 declare @PageNo int ,@pageSize int; set @PageNo = 2 set @pageSize=20 select * from ( select row_number() over(order by getdate()) rn,* from sys.objects) tb where rn >(@PageNo-1)*@pageSize and rn <=@PageNo*@pageSize

還有一種方法就是將排序字段作為變量,通過動態SQL 實現,可以改成存儲過程。

復制代碼 代碼如下:

declare @PageNo int ,@pageSize int; declare @TableName varchar(128),@OrderColumns varchar(500), @SQL varchar(max); set @PageNo = 2 set @pageSize=20 set @TableName = 'sys.objects' set @OrderColumns = 'name ASC,object_id DESC' set @SQL = 'select * from ( select row_number() over(order by '+@OrderColumns+' ) rn,* from ' +@TableName+')tb where rn >'+convert(varchar(50),(@PageNo-1)*@pageSize) +' and rn <= '+convert(varchar(50),@PageNo*@pageSize) print @SQL exec(@SQL)

方法5:(利用SQL的游標存儲過程分頁) 適用于 SQL Server 20網站建設教程05

復制代碼 代碼如下:

create procedure SqlPager @sqlstr nvarchar(4000), --查詢字符串 @currentpage int, --第N頁 @pagesize int --每頁行數 as set nocount on declare @P1 int, --P1是游標的id @rowcount int exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output select ceiling(1.0*@rowcount/@pagesize) as 總頁數--,@rowcount as 總行數,@currentpage as 當前頁 set @currentpage=(@currentpage-1)*@pagesize+1 exec sp_cursorfetch @P1,16,@currentpage,@pagesize exec sp_cursorclose @P1 set nocount off

方法5:(利用MySQL的limit) 適用于 MySQL mysql中limit的用法詳解[數據分頁常用] 在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行數據,這個時候怎么辦呢?不用擔心,mysql已經為我們提供了這樣一個功能。

關鍵詞標簽: 分頁 SQL 存儲過程

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-22 ,文章MSSQL MySQL 數據庫分頁(存儲過程)建站知識主要講述分頁,存儲過程,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_4145.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 巴马| 疏附县| 疏勒县| 乡城县| 铜山县| 天台县| 祁阳县| 沙洋县| 余江县| 阳泉市| 治多县| 嘉祥县| 石城县| 同仁县| 来凤县| 永济市| 治多县| 灌云县| 津市市| 北辰区| 依兰县| 招远市| 花莲县| 太仓市| 乌拉特中旗| 九龙县| 清苑县| 辽宁省| 南江县| 德安县| 方城县| 平顶山市| 潞西市| 德格县| 巢湖市| 上杭县| 辰溪县| 车致| 中西区| 西华县| 宁强县|