麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

用SQL 2005的ROW_NUMBER() 實現分頁功能

2024-08-31 01:05:39
字體:
來源:轉載
供稿:網友

DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 3
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY newsid DESC) AS rownum,
        newsid, topic, ntime, hits
      FROM news) AS D
WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @pagenum*@pagesize
ORDER BY newsid DESC


aspx里面只需給SQL傳入pageid和條數即可。

CSDN上還有個存儲過程實現分頁的代碼:

ALTER PROCEDURE news_Showlist
(
@tblName   varchar(255),       -- 表名
@strGetFields varchar(1000),  -- 需要返回的列
@fldName varchar(255),      -- 排序的字段名
@PageSize   int ,          -- 頁尺寸
@PageIndex  int ,           -- 頁碼
@strWhere  varchar(1500),  -- 查詢條件(注意: 不要加where)
@Sort varchar(255)      --排序的方法

)
AS
declare @strSQL   varchar(5000)       -- 主語句
declare @strTmp   varchar(110)        -- 臨時變量
declare @strOrder varchar(400)        -- 排序類型

if @Sort = 'desc'
begin
set @strTmp = '<(select min'
set @strOrder = ' order by ' + @fldName +' desc'
--如果@OrderType不是,就執行降序,這句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by ' + @fldName +' asc'
end
 
if @PageIndex = 1
begin
if @strWhere != ''  
  begin
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '  from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
  end
else
  begin
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '  from '+ @tblName + ' '+ @strOrder
  end
--如果是第一頁就執行以上代碼,這樣會加快執行速度
end
else
begin
--以下代碼賦予了@strSQL以真正執行的SQL代碼
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '  from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '+ @fldName + ' from ' + @tblName + '' + @strOrder + ') as tblTmp)'+ @strOrder
 
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '  from '
+ @tblName + ' where ' + @fldName + '' + @strTmp + '('
+ @fldName + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '
+ @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
exec (@strSQL)
RETURN

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品中文字幕久久久久四十五十骆 | 12av毛片 | 久久国产精品成人免费网站 | 黄色羞羞 | 亚洲精品欧美二区三区中文字幕 | 超碰在线97国产 | 少妇一级淫片高潮流水电影 | 日韩激情一区 | 成人一区久久 | 新久草视频 | 欧美成人免费 | 农村寡妇偷毛片一级 | 草久在线观看视频 | 亚洲人成网站在e线播放 | 一级免费在线视频 | 欧美日韩免费看 | 欧美黄色大片免费观看 | 色域tv | 中文字幕在线观看网址 | 久久激情国产 | 91成人在线网站 | 国产精品九九久久一区hh | 国产精品av久久久久久网址 | 成年免费在线视频 | 国产精品久久久久久久久久东京 | 日本在线观看高清完整版 | 日本68xxxx| 欧美日韩亚洲一区二区三区 | 日韩毛片在线看 | 毛片在线免费播放 | av电影在线观看网址 | 欧美日韩在线免费观看 | 狠狠操精品视频 | 欧美级毛片 | 黄色片免费在线播放 | 国产精选91 | 中文字幕观看 | 欧美精品在线免费观看 | 久久福利在线 | 永久免费av在线 | 黄色片网站在线看 |