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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SQLServer常用分页方式

發(fā)布時(shí)間:2024/6/21 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 SQLServer常用分页方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  mysql的分頁是基于limit關(guān)鍵字,oracle的分頁是基于rownum行號(hào),SQLserver的分頁在下面進(jìn)行研究,是基于SQLServer2012進(jìn)行的測(cè)試。

0.原來的SQL的所有數(shù)據(jù)

下面的測(cè)試假設(shè)每頁都是取5條數(shù)據(jù)。

1.第一種-ROW_NUMBER() OVER()方式(over函數(shù)必須有)

(1)取第一頁數(shù)據(jù)

  select * from ( 
    select *, ROW_NUMBER() OVER(Order by ID ) AS RowId from [mydb].[dbo].[user] 
  ) as b

      where RowId between 1 and 5;

結(jié)果:

(2)取第二頁數(shù)據(jù)

  select * from ( 
    select *, ROW_NUMBER() OVER(Order by ID ) AS RowId from [mydb].[dbo].[user] 
  ) as b

      where RowId between 6 and 10;

結(jié)果:

總結(jié):  這種方式采用 RowId BETWEEN 當(dāng)前頁數(shù)-1*頁大小+1 and 頁數(shù)*頁大小 ,而且包含起始值與結(jié)束值。

補(bǔ)充:這種方式的通用寫法如下: 原來SQL不能帶order by ,但是可以帶條件。

原來SQL = select * from [mydb].[dbo].[user] where name like 'name%'

拼接分頁的模板如下:

 select * from ( 
    select *, ROW_NUMBER() OVER(Order by ID ) AS RowId from    (
            原來SQL
        ) AS A
) as B
where RowId between 1 and 5;

2.第二種-offset start fetch next page rows only

(1)取第一頁

select * from [mydb].[dbo].[user]   order by ID offset 0 rows fetch next 5 rows only;

結(jié)果:

(2)取第二頁

select * from [mydb].[dbo].[user]   order by ID offset 5 rows fetch next 5 rows only;

結(jié)果:

總結(jié):這種方式的起始值與結(jié)束值計(jì)算方式: offset 頁號(hào)*頁大小 rows fetch next 頁大小 rows only  

3.第三種: top 關(guān)鍵字

(1)取第一頁

select top 5 * from [mydb].[dbo].[user] 
where ID not in (select top 0 ID from [mydb].[dbo].[user]);

結(jié)果:

(2)取第二頁

select top 5 * from [mydb].[dbo].[user] 
where ID not in (select top 5 ID from [mydb].[dbo].[user]);

結(jié)果:

 總結(jié):這種方式只用改內(nèi)層的 top就可以了: 內(nèi)層的top后面相當(dāng)于起始值,計(jì)算方式為 (頁號(hào)-1)*頁大小。

補(bǔ)充:這種分頁方式的通用模板如下: 這個(gè)可以加order by和條件

原來SQL =select * from [mydb].[dbo].[user] where name like 'name%'

select top 5 * from ( 
    原來SQL
) AS A where ID not in (select top 5 ID from [mydb].[dbo].[user]);

4.ROW_NUMBER() + top 相當(dāng)于上面1和3的結(jié)合使用

(1)取第一頁

select top (5) * from (select *, ROW_NUMBER() OVER(Order by ID ) AS RowId from [mydb].[dbo].[user]) as A where A.RowId>0;

結(jié)果:

(2)取第二頁

select top (5) * from (select *, ROW_NUMBER() OVER(Order by ID ) AS RowId from [mydb].[dbo].[user]) as A where A.RowId>5;

結(jié)果:

  總結(jié):這種方式比較通用, 第一個(gè) top 里面的值 相當(dāng)于 頁大小,第二個(gè)rowID>起始值,起始值計(jì)算方式為 (頁號(hào)-1)*頁大小

補(bǔ)充:這種分頁方式的通用模板如下: 這種方式原來的SQL也不用加排序語句

原來SQL =select * from [mydb].[dbo].[user] where name like 'name%'

select top (5) * from (
    select *, ROW_NUMBER() OVER(Order by ID ) AS RowId from (
        原來SQL
        ) as A   
) as B where B.RowId>5;

注意:文中SQLServer的AS A這些起別名不能省略。

總結(jié)

以上是生活随笔為你收集整理的SQLServer常用分页方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人久久成人 | 一区二区av在线 | 日本一级片在线观看 | 97se.com| 在线免费观看不卡av | 日本精品一区二区三区在线观看 | 裸体美女免费视频网站 | 久久我不卡 | 91精品欧美一区二区三区 | 北岛玲一区二区 | 成人午夜看片 | 官场艳妇疯狂性关系 | 天堂视频在线免费观看 | 手机在线看片 | 澳门色网 | 老司机深夜福利网站 | 亚洲第一免费视频 | av国产片 | 韩国久久久| 欧美日韩xxxx | www.av成人 | 欧洲精品无码一区二区 | 久久久久久久久久网 | 天堂网中文在线观看 | 老女人做爰全过程免费的视频 | 亚欧美色图 | 在线观看sm | 一区二区在线免费观看视频 | 性视频网 | 亚洲毛片在线 | 99极品视频| 国产v在线 | 天天想你在线观看完整版电影免费 | 精品日本一区二区 | 91九色视频 | 国产精品久久久久久一区二区 | 青草视频免费在线观看 | 麻豆传媒映画官网 | 亚洲第一二三四区 | 91亚洲一区 | 手机看片99 | 91丝袜一区二区三区 | 67194国产 | 黄色伊人| 中国美女乱淫免费看视频 | 亚洲小视频网站 | 日韩精品在线视频免费观看 | 性史性农村dvd毛片 日韩精品在线视频观看 | 亚洲麻豆一区二区三区 | 少妇一晚三次一区二区三区 | 亚洲精品大片www | 99爱免费| 国产亚洲精品久久久久久 | 黄色成人一级片 | 农民工hdxxxx性中国 | 欧美xxxx黑人 | 色666| www日韩欧美 | 欧美日韩在线视频免费播放 | 亚洲淫| 国产看黄网站 | 亚洲色图19p | 亚洲人吸女人奶水 | 韩国午夜影院 | 国产一区二区三区成人 | 先锋成人 | 国产精品老熟女视频一区二区 | 欧美在线观看视频一区二区 | 国产精品免费网站 | 日韩二三区| 精品久久久999 | 草逼网站 | 亚洲影院在线播放 | 久久96 | 中文字幕第88页 | 一本色道久久综合亚洲 | 999热精品| 欧美操操操 | 成人av男人的天堂 | 久久视频在线播放 | 强行挺进白丝老师里呻吟 | 99热这里有| 色在线免费视频 | 日日躁夜夜躁狠狠久久av | 五月天色站 | 逼逼av网站 | 免费的理伦片在线播放 | ktv做爰视频一区二区 | 中文字幕欧美另类精品亚洲 | 88av网| 国语对白精彩对话 | 亚洲系列中文字幕 | 亚洲综合网在线观看 | 香蕉网在线视频 | 国产美女毛片 | 三年大片在线观看 | 波多野结衣中文在线 | 亚洲天堂男人的天堂 | 天天操天天摸天天干 |