日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

盤(pán)點(diǎn)SqlServer 分頁(yè)方式和拉姆達(dá)表達(dá)式分頁(yè)

瀏覽:333日期:2023-03-06 14:25:58
目錄
  • 1、ROW_NUMBER() OVER()方式(SQL2012以下推薦使用)
  • 2、offset fetch next方式(SQL2012及以上的版本才支持:推薦使用 )
  • 3、top not in方式 (不推薦)
  • 4、通過(guò)升序與降序方式進(jìn)行查詢(xún)分頁(yè)(不推薦)
  • 5、采用MAX(ID)或者M(jìn)IN(ID)函數(shù)(不推薦)
  • 6、Lambda表達(dá)式分頁(yè)(推薦使用)

現(xiàn)在基本上大家都在使用各種輪子自帶的分頁(yè),大家是否還記得sql分頁(yè)怎么寫(xiě)?

今天我們就來(lái)盤(pán)一盤(pán)怎么寫(xiě)和用哪種方式寫(xiě)。

歡迎大家評(píng)論區(qū)討論。

1、ROW_NUMBER() OVER()方式(SQL2012以下推薦使用)

示例:

SELECT * FROM    (SELECT ROW_NUMBER() OVER(ORDER BY menuId) AS RowId,* FROM sys_menu ) AS r WHERE  RowId BETWEEN 1 AND 10

用子查詢(xún)新增一列行號(hào)(ROW_NUMBER)RowId查詢(xún),比較高效的查詢(xún)方式,只有在SQL Server2005或更高版本才支持。

BETWEEN 1 AND 10 是指查詢(xún)第1到第10條數(shù)據(jù)(閉區(qū)間),在這里面需要注意的是OVER的括號(hào)里面可以寫(xiě)多個(gè)排序字段。

查詢(xún)結(jié)果如下:

通用用法

--pageIndex 表示指定頁(yè)--pageSize  表示每頁(yè)顯示的條數(shù)SELECT * FROM    (SELECT ROW_NUMBER() OVER(ORDER BY 排序字段) AS RowId,* FROM 表名 ) AS r WHERE  RowId  BETWEEN ((pageIndex-1)*pageSize + 1) AND (pageIndex * PageSize)

2、offset fetch next方式(SQL2012及以上的版本才支持:推薦使用 )

示例:

--offset fetch next方式查詢(xún),最高效的查詢(xún)方式,只有在SQL Server2012或更高版本才支持SELECT * FROM sys_menu ORDER BY menuId offset 0 ROWS FETCH NEXT 10 ROWS ONLY

offset 是跳過(guò)多少行,

next是取接下來(lái)的多少行,

句式 offset...rows fetch nect ..rows only ,注意rows和末尾的only 不要寫(xiě)漏掉了,并且這種方式必須要接著Order by XX 使用,不然會(huì)報(bào)錯(cuò)。

查詢(xún)結(jié)果如下:

通用用法

--pageIndex 表示指定頁(yè)--pageSize  表示每頁(yè)顯示的條數(shù)SELECT * FROM 表名 ORDER BY 排序字段 offset ((pageIndex - 1) * pageSize) ROWS FETCH NEXT pageSize ROWS ONLY

3、top not in方式 (不推薦)

示例:

--查詢(xún)第11-20條記錄SELECT TOP 10 menuId, *FROM sys_menu WHERE menuId NOT IN (SELECT TOP 10 menuId FROM sys_menu)

這條語(yǔ)句的原理是先查詢(xún)1-10條記錄的ID,然后再查詢(xún)ID不屬于這1-10條記錄的ID,并且只需要10條記錄,因?yàn)槊宽?yè)大小就是10,

這就是獲取到的第11-20條記錄,這是非常簡(jiǎn)單的一種寫(xiě)法。

另外IN語(yǔ)句與NOT IN語(yǔ)句類(lèi)似,這是NOT IN的寫(xiě)法,但是這種寫(xiě)法數(shù)據(jù)量大的話(huà)效率太低。

查詢(xún)結(jié)果如下:

通用用法

--pageIndex 表示指定頁(yè)--pageSize  表示每頁(yè)顯示的條數(shù)SELECT TOP pageSize menuId, *FROM sys_menu WHERE menuId NOT IN (SELECT TOP ((pageSize-1)*pageIndex) menuId FROM sys_menu)

4、通過(guò)升序與降序方式進(jìn)行查詢(xún)分頁(yè)(不推薦)

示例:

--使用升序降序的方式分頁(yè)查詢(xún)SELECT * FROM(    SELECT TOP 10 * FROM(SELECT TOP 20 * FROM sys_menu ORDER BY menuId ASC)     AS TEMP1 ORDER BY menuId DESC)AS TEMP2 ORDER BY menuId ASC

這條語(yǔ)句首先查詢(xún)前20條記錄,然后在倒序查詢(xún)前10條記錄(即倒數(shù)10條記錄),

這個(gè)時(shí)候就已經(jīng)獲取到了11-20條記錄,但是他們的順序是倒序,所以最后又進(jìn)行升序排序。

查詢(xún)結(jié)果如下:

通用方法

--pageIndex 表示指定頁(yè)--pageSize  表示每頁(yè)顯示的條數(shù)SELECT * FROM(    SELECT TOP pageSize * FROM(SELECT TOP ((pageIndex - 1) * pageSize +(pageSize*2)) * FROM sys_menu ORDER BY menuId ASC)     AS TEMP1 ORDER BY menuId DESC)AS TEMP2 ORDER BY menuId ASC

5、采用MAX(ID)或者M(jìn)IN(ID)函數(shù)(不推薦)

示例:

--MIN()函數(shù)和MAX()函數(shù)的使用--id > 第(PageIndex-1)*PageSize條記錄的id AND id <= 第PageIndex*PageSize條記錄的idSELECT TOP 10 * FROM sys_menu WHERE menuId>    (SELECT MAX(menuId) FROM(SELECT TOP 10 menuId FROM sys_menu ORDER BY menuId) AS TEMP1) --(第10條的id)

這個(gè)理解起來(lái)也簡(jiǎn)單,先把第10條記錄的id找出來(lái)(當(dāng)然這里面是直接使用MAX()進(jìn)行查找,MIN()函數(shù)的用法也是類(lèi)似的),

然后再對(duì)比取比第10條記錄的id大的前10條記錄即為我們需要的結(jié)果。

這里要注意開(kāi)始時(shí)的邊界值調(diào)整。

查詢(xún)結(jié)果如下:

通用用法

--pageIndex 表示指定頁(yè)--pageSize  表示每頁(yè)顯示的條數(shù)SELECT TOP pageSize * FROM sys_menu WHERE menuId>    (SELECT MAX(menuId) FROM(SELECT TOP ((PageIndex-1)*PageSize) menuId FROM sys_menu ORDER BY menuId) AS TEMP1) --(第10條的id)

6、Lambda表達(dá)式分頁(yè)(推薦使用)

我們?cè)跀?shù)據(jù)庫(kù)分頁(yè)的時(shí)候,還可以在代碼里面使用lambda表達(dá)式分頁(yè)。

示例:

List<int> list = new List<int>();for (int i = 0; i < 100; i++){    list.Add(i);}//從第11條數(shù)據(jù)開(kāi)始,獲取10條數(shù)據(jù)list = list.Skip(11).Take(10).ToList(); //返回值 11,12,13,14,15,16,17,18,19,20

Skip: 表示從第 (pageIndex * pageSize + 1) 條數(shù)據(jù)開(kāi)始,也就是說(shuō)再這之前有pageIndex * pageSize條數(shù)據(jù)。

Task:表示獲取多少條數(shù)據(jù)。

通用用法

list = list.Skip(pageIndex * pageSize +1 ).Take(pageSize).ToList();

以上就是數(shù)據(jù)查詢(xún)中經(jīng)常用到的方式,

在數(shù)據(jù)庫(kù)版本支持的情況下個(gè)人推薦程度排序:offset fetch netct > lambda > ROW_NUMBER() OVER() 后面的就不推薦使用

這樣就可以配合存儲(chǔ)過(guò)程進(jìn)行分頁(yè)了。

到此這篇關(guān)于盤(pán)點(diǎn)SqlServer 分頁(yè)方式和拉姆達(dá)表達(dá)式分頁(yè)的文章就介紹到這了,更多相關(guān)SqlServer 分頁(yè)拉姆達(dá)表達(dá)式分頁(yè)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: MsSQL
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
高清久久精品| 91精品蜜臀一区二区三区在线| 久久国产主播| 国产专区精品| 午夜天堂精品久久久久| 久久青青视频| 国产欧美三级| 五月激激激综合网色播| 欧美日韩国产免费观看视频| 国产a亚洲精品| 国产精品传媒麻豆hd| 亚洲精品成人一区| 久久成人亚洲| 亚洲香蕉网站| 日韩伦理在线一区| 国产成人免费视频网站视频社区| 欧美日本久久| 日韩国产在线观看| 亚洲精品美女| 日韩中文字幕视频网| 激情久久久久久| 久久久天天操| 91精品蜜臀一区二区三区在线| 欧美aa一级| 久久久夜精品| 99精品视频精品精品视频| 免费福利视频一区二区三区| 国产精品一区二区三区四区在线观看 | 国产精品1luya在线播放| 91精品国产自产观看在线| 亚洲人www| 综合亚洲视频| 欧美一级网址| 国产精区一区二区| 免费视频一区二区三区在线观看| 在线看片福利| 日韩一区二区三区在线免费观看| 久久青青视频| 99成人超碰| 狠狠干综合网| 亚洲专区欧美专区| 日本国产亚洲| 欧美日韩伊人| 久久99精品久久久野外观看| 麻豆成人综合网| 亚洲精品**中文毛片| 欧美日韩色图| 综合激情网站| 捆绑调教美女网站视频一区 | 国产精选在线| 日韩在线综合| 欧美日韩国产精品一区二区亚洲| 免费国产自线拍一欧美视频| 亚洲久久视频| 国产精品视频一区视频二区| 国产精品极品国产中出| 国产高潮在线| 国精品一区二区| 中文字幕中文字幕精品| 国产精品久一| 日韩欧美网址| 免费日韩av| 91精品国产自产在线丝袜啪| 麻豆一区二区三| 日韩精品中文字幕第1页| 亚洲精品1区| 日本亚州欧洲精品不卡| 你懂的国产精品永久在线| 日韩精品第一区| 日韩中文字幕区一区有砖一区| 亚洲天堂久久| 亚洲综合福利| 久久久久伊人| 亚洲欧美日韩在线观看a三区| 日本一区二区三区视频在线看| 国产亚洲福利| 日韩免费精品| 精品网站999| 日韩高清中文字幕一区二区| 久久亚洲美女| 国内精品亚洲| 蜜臀久久99精品久久久画质超高清 | 中日韩男男gay无套| 欧美一级二级三级视频| 三级精品视频| 日韩av成人高清| 久久要要av| 日韩欧美久久| 久久久一二三| 欧美日韩一区二区三区不卡视频 | 国产剧情一区二区在线观看| 欧美日韩一二三四| 国产毛片一区二区三区 | 成人污污视频| 亚洲精品乱码| 久久国产日本精品| 国产精品主播在线观看| 欧美高清一区| 精品视频一区二区三区在线观看 | 日韩av在线播放中文字幕| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 亚洲精品免费观看| 91精品国产调教在线观看| 欧美自拍一区| 天堂资源在线亚洲| 麻豆精品久久| 日本不卡一区二区三区| 999精品色在线播放| 日韩精品视频一区二区三区| 久久精品不卡| 国产成人1区| 欧美日韩一区二区高清| 女主播福利一区| 国产精品蜜芽在线观看| 日韩精品电影一区亚洲| 激情久久五月| a国产在线视频| 国产视频一区二| 日韩在线一区二区| 色一区二区三区| 另类欧美日韩国产在线| 国产中文在线播放| 日韩avvvv在线播放| 国产一区二区三区四区五区 | 亚洲精品大全| 在线视频精品| 伊人精品一区| 狠狠久久伊人| 国产精品久久久久久模特| 国产第一亚洲| 亚洲精品在线二区| 久久成人亚洲| 99re国产精品| 日韩在线免费| 久久久久免费| 美女久久99| 日本成人中文字幕在线视频| 亚洲一区成人| 99久久精品网站| 日本欧美不卡| 免费在线播放第一区高清av| 清纯唯美亚洲综合一区| 在线综合亚洲| 午夜欧美精品久久久久久久| 久久影院一区| 久久五月天小说| 久久久蜜桃一区二区人| 日韩一区欧美| 国产一区二区三区四区五区 | 久久青草久久| 精品国产a一区二区三区v免费| 国产欧美激情| 免费在线观看不卡| 久久国产精品久久w女人spa| 成人在线超碰| 国产一区一一区高清不卡| 欧美一区二区三区高清视频| 亚洲www免费| 久久高清免费| 亚洲国产一区二区三区在线播放| 久久精品亚洲欧美日韩精品中文字幕| 动漫av一区| 水蜜桃久久夜色精品一区| 9999国产精品| 久久国产影院| 99国产一区| 视频一区二区不卡| 国产精品1区| 国产福利片在线观看| 婷婷亚洲综合| 久久国产精品毛片| 日韩精品午夜视频| 国产极品模特精品一二| 国产一区二区三区久久 | 久久亚洲电影| 一区二区三区国产在线| 夜夜精品视频| 免费在线观看视频一区| 日韩毛片一区| 美女尤物国产一区| 五月天av在线| 妖精视频成人观看www| 日产欧产美韩系列久久99| 国产一区二区三区黄网站 | 国产毛片一区二区三区| 精品伊人久久| 国内精品99| 一区二区国产精品| 在线一区av| 久久国产精品毛片| 精品久久久久中文字幕小说| 欧美午夜精品一区二区三区电影| 日韩av中文字幕一区二区三区| 久久久久伊人| 视频一区二区欧美| 国产精品4hu.www| 午夜在线视频观看日韩17c| 国产日韩欧美一区| 欧美日韩精品免费观看视频完整 | 怡红院精品视频在线观看极品|