新聞中心
使用Sql Server分頁查詢是SQL數(shù)據(jù)庫最常見的操作之一,下面將為您介紹兩種利用top構(gòu)造Sql Server分頁查詢的方法,供您參考。

創(chuàng)新互聯(lián)是一家專業(yè)提供巴州企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為巴州眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
Sql Server中,假設(shè)一個查詢sql為querySql,該sql為任意條件的組合,我們把它當作子查詢結(jié)果表,可利用Sql Server的top來構(gòu)造通用Sql Server分頁查詢:
- if (pageInfo.getPageNum() == 1) {
- pagenatedSql = "select top " + pageInfo.pageSize + " * from (" + sql + ") as t1 " ;
- }
- else {
- pagenatedSql = "select top " + pageInfo.pageSize + " * from (" + sql + ") as t1 " +
- " where (t1." + indexKey + " > (select max(t3." + indexKey + ")" +
- " from (select top " + (pageInfo.pageNum - 1) * pageInfo.pageSize + " t2." + indexKey + " from (" + sql + ") as t2 order by t2." + indexKey + ") as t3" +
- " )) order by t1." + indexKey;
- }
其中pageInfo.getPageNum()為當前頁號(從1開始);pageInfo.getPageSize()為每頁行數(shù);indexKey為表中索引列,通常為遞增的主鍵。
第二種方式:
pagesize: 每頁顯示記錄數(shù)
cureentpage:當前頁數(shù)
- select * from ( select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage * from user_table ORDER BY id ASC ) as aSysTable ORDER BY id DESC ) as bSysTable ORDER BY id ASC
以上就是利用top構(gòu)造Sql Server分頁查詢的方法。
【編輯推薦】
sql server分頁的兩種方法比較
SQL SERVER分區(qū)視圖
SQL中的分析函數(shù)
創(chuàng)建SQL函數(shù)的實例
SQL中返回計算表達式的函數(shù)
當前文章:利用top構(gòu)造SqlServer分頁查詢
鏈接分享:http://m.fisionsoft.com.cn/article/djdhdhg.html


咨詢
建站咨詢
