新聞中心
sqlserver分頁查詢
select top 頁大小 *
成都創(chuàng)新互聯(lián)是一家專業(yè)提供廣陽企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為廣陽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
from table1
where id
(select max (id) from
(select top ((頁碼-1)*頁大小) id from table1 order by id) as T
)
order by id
SQLSERVER如何實(shí)現(xiàn)分頁查詢?
寫存儲(chǔ)過程 ..
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER PROCEDURE usp_Province_pagination
@PageSize INT, --每頁的顯示的行數(shù)
@AbsolutePage INT, -- 當(dāng)前頁的頁數(shù)
@PageCount INT OUTPUT --總頁數(shù)
AS
DECLARE @BeginRecord INT --記錄每此從哪一行開始讀取
DECLARE @RecordCount INT --表中數(shù)據(jù)的總條數(shù)
DECLARE @sql NVARCHAR(1000)
SET @RecordCount = (SELECT count(*) FROM Province)
--表中沒有數(shù)據(jù)的情況
IF @RecordCount = 0
BEGIN
SET @PageCount = 0
RETURN(0)
END
-- 表中的總條數(shù)大于定義的每頁的行數(shù)的情況
IF @RecordCount @PageSize
BEGIN
-- 計(jì)算總能分多少頁
SET @PageCount = (@RecordCount + @PageSize - 1)/@PageSize
--當(dāng)前應(yīng)該從哪一行開始讀取
SET @BeginRecord = ((@AbsolutePage-1) * @PageSize)
SET @sql = N'SELECT TOP ' + cast(@PageSize AS NVARCHAR(100)) +' ProvinceID, provinceCode, ProvinceName
FROM Province
WHERE ProvinceID NOT IN
(SELECT TOP '+ CAST(@BeginRecord AS NVARCHAR(100)) + ' ProvinceID
FROM Province)'
EXECUTE sp_executesql @sql
END
ELSE -- -- 表中的總條數(shù)大于定義的每頁的行數(shù)情況
BEGIN
SET @PageCount = 1
SET @SQL = 'SELECT ProvinceID, provinceCode, ProvinceName FROM Province '
EXECUTE sp_executesql @sql
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
sqlserver分頁
sqlserver分頁有四種方法,先給大家介紹一種常用的
查看1到3條數(shù)據(jù)
假如查詢每頁大小為3,查詢第2頁的數(shù)據(jù)就是
網(wǎng)頁名稱:sqlserver查分頁,sql查詢分頁
URL標(biāo)題:http://www.dlmjj.cn/article/hdjecd.html