欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

用一句SQL取出第 m 條到第 n 條記錄的方法

系統(tǒng) 1941 0
從Table?表中取出第?m?條到第?n?條的記錄:(Not?In?版本)
? ?
? ? SELECT ? TOP ?n - m + 1 ? * ?
? ? FROM ? Table ?
? ? WHERE ?(id? NOT ? IN ?( SELECT ? TOP ?m - 1 ?id? FROM ? Table ?))??
? ?
? ?
? ? -- 從TABLE表中取出第m到n條記錄?(Exists版本)
? ?
? SELECT ? TOP ?n - m + 1 ? * ? FROM ? TABLE ? AS ?a? WHERE ? Not ? Exists
? ( Select ? * ? From ?( Select ? Top ?m - 1 ? * ? From ? TABLE ? order ? by ?id)?b? Where ?b.id = a.id?)?
? Order ? by ?id
?
?
? -- m為上標(biāo),n為下標(biāo),例如取出第8到12條記錄,m=8,n=12,Table為表名
?
? Select ? Top ?n - m + 1 ? * ? From ? Table ?
? Where ?Id > ( Select ? Max (Id)? From ?
? ( Select ? Top ?m - 1 ?Id? From ? Table ? Order ? By ?Id? Asc )? Temp )?
? Order ? By ?Id? Asc ??
?
=====================================================================================================
在sql server 2005中提供了函數(shù)ROW_NUMBER() ,可以更方便的來(lái)實(shí)現(xiàn)
--按BirthDate排序,取第10條到20條的數(shù)據(jù)
SELECT BirthDate FROM
(
SELECT
ROW_NUMBER() OVER(ORDER BY BirthDate) AS a,BirthDate
FROM HumanResources.Employee
) AS a
WHERE a BETWEEN 10 AND 20

ROW_NUMBER () 函數(shù)是Sql?2005中新添的一個(gè)函數(shù)。通常它被用在分頁(yè)的SQL語(yǔ)句中。

微軟官方的對(duì)此函數(shù)的描述是:返回結(jié)果集分區(qū)內(nèi)行的序列號(hào),每個(gè)分區(qū)的第一行從?1?開始。

我對(duì)此的理解:利用此函數(shù)可以為表中的某個(gè)字段建立序列,從1開始。就是說(shuō),根據(jù)已存在的某列,利用此函數(shù)可建立一新列,新列是數(shù)字,按照已存在列的順序從1開始。

???上邊可能說(shuō)的不是很清楚,請(qǐng)結(jié)合下邊這個(gè)例子來(lái)看吧!

?


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> ?1 USE ?Northwind
?2 GO
?3
?4 --
?5 SELECT ?OrderID,?
?6 ????CustomerID,?
?7 ????OrderDate
?8 FROM ?dbo.Orders? WITH (NOLOCK)
?9
10 SELECT ?OrderID,?
11 ????CustomerID,?
12 ????OrderDate,?
13 ????ROW_NUMBER()? OVER ( ORDER ? BY ?orderID? DESC )? AS ?字段編號(hào)
14 FROM ?dbo.Orders? WITH (NOLOCK)

第一個(gè)查詢只是一個(gè)普通的查詢,查詢出Orders表中的3個(gè)字段的記錄。其結(jié)果為:

用一句SQL取出第 m 條到第 n 條記錄的方法

?

第二個(gè)查詢相比第一個(gè)查詢僅僅是多了“? ROW_NUMBER () ? OVER ( ORDER ? BY ?orderID? DESC ) ? AS ? 字段編號(hào) ? 這段語(yǔ)句。我們來(lái)分析一下這段語(yǔ)句。

這段語(yǔ)句的作用就是利用 ROW_NUMBER () 函數(shù)根據(jù)OrderID這列來(lái)生成一個(gè)新的數(shù)據(jù)列,這列的名稱為字段編號(hào)。然后我們根據(jù) ORDER ? BY ?orderID? DESC 來(lái)指定字段編號(hào)這列按照OrderID的逆序來(lái)生成,結(jié)果如下:

用一句SQL取出第 m 條到第 n 條記錄的方法

?

比較兩個(gè)結(jié)果集,會(huì)發(fā)現(xiàn)第二個(gè)結(jié)果集是按照 OrderID 字段逆序的記錄,其實(shí)也可看成是字段編號(hào)這個(gè)字段的正序排序, ROW_NUMBER () 函數(shù)相當(dāng)于為SELECT語(yǔ)句末尾加了ORDER?BY子句,第二個(gè)SELECT語(yǔ)句其實(shí)等價(jià)于:

?


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> 1 SELECT ?OrderID,?
2 ????CustomerID,?
3 ????OrderDate,?
4 ????ROW_NUMBER()? OVER ( ORDER ? BY ?OrderID? DESC )? AS ?字段編號(hào)
5 FROM ?dbo.Orders? WITH (NOLOCK)
6 ORDER ? BY ?字段編號(hào)ASC

?

下邊來(lái)看一個(gè)對(duì) ROW_NUMBER () 函數(shù)的簡(jiǎn)單分頁(yè)應(yīng)用。

?


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> ?1 -- Partition?Page?Demo
?2 /**/ /* ?取出第-?200條的記錄(記錄須按OrderID排序) */
?3
?4 WITH ?OrdersByOrderIDASC? AS ?
?5 (
?6 ???? SELECT ?OrderID,?
?7 ????????CustomerID,?
?8 ????????OrderDate,?
?9 ????????ROW_NUMBER()? OVER ( ORDER ? BY ?orderID? ASC )? AS ?字段編號(hào)
10 ???? FROM ?dbo.Orders? WITH (NOLOCK)
11 )
12
13 SELECT ? * ?
14 FROM ?OrdersByOrderIDASC? WITH (NOLOCK)
15 WHERE ?字段編號(hào)BETWEEN? 100 ? AND ? 110

?

首先把應(yīng)用 ROW_NUMBER () 函數(shù)后的結(jié)果集存在一張臨時(shí)表中,然后以字段編號(hào)這個(gè)字段為條件,使用BETWEEN關(guān)鍵字過(guò)濾相應(yīng)的記錄。

用一句SQL取出第 m 條到第 n 條記錄的方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲娇小性色xxxx | 一区二区三区国模大胆 | 999精品国产人妻无码系列久久 | 全黄裸片武则天一级第4季 亚洲一区国产 | 精品成人免费一区二区在线播放 | 免费香蕉视频 | 国产在线观看一区二区 | 免费久久精品国产片香蕉 | 欧美日韩亚洲高清不卡一区二区三区 | 视频一区二区不卡 | 中文字幕精品视频 | 国产高清无专砖区2021 | 综合精品 | 超级碰碰碰视频视频在线视频 | 中国大陆高清aⅴ毛片 | 久操国产视频 | 一区二区三区国模大胆 | 九九热在线免费视频 | 一区二区三区成人A片在线观看 | 五月婷婷激情网 | 亚洲国产99在线精品一区二区 | 12306播播影院午夜 | 91九色porn偷拍在线 | 午夜影皖 | 一级肉体aa电影 | 天天操网 | 亚洲性生活免费视频 | 免费一级大毛片a一观看不卡 | 欧美日韩亚洲高清不卡一区二区三区 | 香港三级大全 | 国产精品影视 | 久久99深爱久久99精品 | 99精品在线免费观看 | 亚洲精品国产精品乱码不97 | 一区二区三区四区免费看 | 香港三日本三级三级三级 | 欧美一区二区三区 | 91在线观看视频 | 国产九色在线观看 | 日韩午夜在线 | 韩国三级bd高清中字木鱼天 |