明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

怎么設(shè)置MSSQL查詢(xún)數(shù)據(jù)分頁(yè)

[摘要]這幾天剛好碰到數(shù)據(jù)的分頁(yè)查詢(xún),覺(jué)得不錯(cuò),Mark一下,方法有兩種,都是使用select top,效率如何就不在這討論方法1:利用select top配合not in(或者not exists),查詢(xún)...
這幾天剛好碰到數(shù)據(jù)的分頁(yè)查詢(xún),覺(jué)得不錯(cuò),Mark一下,方法有兩種,都是使用select top,效率如何就不在這討論

方法1:利用select top配合not in(或者not exists),查詢(xún)第n頁(yè)的時(shí)候,過(guò)濾掉n-1頁(yè)的數(shù)據(jù)即可,示例假設(shè)每頁(yè)查詢(xún)數(shù)量為5,查詢(xún)第3頁(yè)的數(shù)據(jù);

Select Top 5 UserCode,UserName from userInfo where UserCode not in (select top ((3-1)*5) UserCode from UserInfo order by UserCode asc) order by UserCode asc

如何操作MSSQL查詢(xún)數(shù)據(jù)分頁(yè)

前15行的數(shù)據(jù)

如何操作MSSQL查詢(xún)數(shù)據(jù)分頁(yè)

第三頁(yè)的數(shù)據(jù)

注意查詢(xún)的時(shí)候order by 必須使用相同的列及排列;

方法2:利用Row_Number()內(nèi)置函數(shù),先給查詢(xún)的表加上一列ID,然后查詢(xún)第幾頁(yè)就很簡(jiǎn)單了 between ..and...

select UserCode,UserName,PassWord From

(Select UserCode,UserName,PassWord,Rn=Row_Number() OVER(order by UserCode desc) From UserInfo) AS T

Where t.Rn between (3-1)*5 and 3*5

如何操作MSSQL查詢(xún)數(shù)據(jù)分頁(yè)

當(dāng)然實(shí)際應(yīng)用中每頁(yè)記錄數(shù)量,查詢(xún)第幾頁(yè)都可以使用參數(shù)來(lái)代替。

以上就是如何操作MSSQL查詢(xún)數(shù)據(jù)分頁(yè) 的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。