MYSQL SQLServer分頁查詢的實現
MYSQL分頁:
/** sql:可以是單表的查詢語句,也可以是多表的聯合查詢語句* firstIndex:其實的索引* pageSize:每頁顯示的記錄數*/
select o.*
from (sql) o limit
firstIndex,pageSize
SQLServer 的資料分頁:
假設現在有這樣的一張表:
CREATE TABLE test
(
id int primary key not null identity,
names varchar(20)
)
然後向裡面插入大約1000條資料,進行分頁測試
假設頁數是10,現在要拿出第5頁的內容,查詢語句如下:
--10代表分頁的大小
select top 10 *
from test
where id not in
(
--40是這麼計算出來的:10*(5-1)
select top 40 id from test order by id
)
order by id
原理:需要拿出資料庫的第5頁,就是40-50條記錄。首先拿出資料庫中的前40條記錄的id值,然後再拿出剩餘部分的前10條元素
第二種方法:
還是以上面的結果為例,採用另外的一種方法
--資料的意思和上面提及的一樣
select top 10 *
from test
where id >
(
select isnull(max(id),0)
from
(
select top 40 id from test order by id
) A
)
order by id
原理:先查詢前40條記錄,然後獲得其最id值,如果id值為null的,那麼就返回0
然後查詢id值大於前40條記錄的最大id值的記錄。
這個查詢有一個條件,就是id必須是int型別的。
第三種方法:
select top 10 *
from
(
select row_number() over(order by id) as rownumber,* from test
) A
where rownumber > 40
原理:先把表中的所有資料都按照一個rowNumber進行排序,然後查詢rownuber大於40的前十條記錄
這種方法和oracle中的一種分頁方式類似,不過只支援2005版本以上的
第四種:
儲存過程查詢
建立儲存過程
alter procedure pageDemo
@pageSize int,
@page int
AS
declare @temp int
set @temp=@pageSize*(@page - 1)
begin
select top (select @pageSize) * from test where id not in (select top (select @temp) id from test) order by id
end
執行儲存過程
exec 10,5
相關文章
- MySQL的分頁查詢MySql
- indexdb實現分頁查詢Index
- MySql、SqlServer、Oracle 三種資料庫查詢分頁方式MySqlServerOracle資料庫
- golang通過mysql語句實現分頁查詢GolangMySql
- golang透過mysql語句實現分頁查詢GolangMySql
- MySQL 多表查詢分頁MySql
- Hibernate實現分頁查詢的原理
- c# winform 實現分頁查詢C#ORM
- SSM框架實現分頁查詢例子SSM框架
- MySQL分頁查詢優化MySql優化
- 利用MySQL的一個特性實現MySQL查詢結果的分頁顯示(轉)MySql
- 如何優雅地實現分頁查詢
- 老聲常談,分頁查詢的實現就是不分頁
- MySQL——優化巢狀查詢和分頁查詢MySql優化巢狀
- Hibernate5.1+Sqlserver2000分頁查詢SQLServer
- Access查詢實現Mysql的 limit 查詢MySqlMIT
- SSH整合實現分頁查詢(兩種方式)
- (MySQL學習筆記)分頁查詢MySql筆記
- MySQL分優化之超大頁查詢MySql優化
- Oracle的分頁查詢Oracle
- Lucene的分頁查詢
- SpringMVC+Spring Data JPA +Bootstrap 分頁實現和模糊查詢分頁SpringMVCboot
- MySQL全面瓦解9:查詢的排序、分頁相關MySql排序
- MySQL、Oracle和SQL Server的分頁查詢語句MySqlOracleServer
- Elasticsearch 分頁查詢Elasticsearch
- ssh 分頁查詢
- oracle分頁查詢Oracle
- sqlserver儲存過程實現多表分頁SQLServer儲存過程
- JSP怎樣將查詢的資料實現分頁操作JS
- 分庫分表後的分頁查詢
- mysql多表查詢如何實現MySql
- mysql實現隨機查詢MySql隨機
- ThinkPhp框架:分頁查詢PHP框架
- 分頁查詢優化優化
- NET 集合分頁查詢
- 分頁查詢重構
- Oracle分頁查詢格式Oracle
- java-用SSH框架實現將查詢的資訊分頁顯示Java框架