四種方式實現SQLServer 分頁查詢
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 @[email protected]*(@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
相關推薦
四種方式實現SQLServer 分頁查詢
SQLServer 的資料分頁: 假設現在有這樣的一張表: CREATE TABLE test ( id int primary key not null identity, names varchar(20) ) 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,
Asp.Net北大青鳥總結(四)-使用GridView實現真假分頁
void 每次 第三方控件 ati exec open() lld ret ges 這段時間看完了asp.net視頻。可是感覺到自己的學習好像沒有鞏固好,於是又在圖書館裏借了幾本關於asp.net的書感覺真的非常好自己大概對於asp.net可以實現主要的小D
java 四種方式實現字符流文件的拷貝對比
put In exception bytes public 字節緩沖區 tput code cep 將D:\\應用軟件\\vm.exe 拷貝到C:\\vm.exe 四種方法耗費時間對比 4>2>3>1 package Copy; imp
oracle,mysql,sqlserver分頁查詢,附實體類
最近簡單的對oracle,mysql,sqlserver2005的資料分頁查 (一)、 mysql的分頁查詢 &n
SQLSERVER分頁查詢
1.準備工作 create table pagetest ( id int identity(1,1) not null, col01 int null, col02 nvarchar(50) nul
資料倉庫(十四)--java--presto---hive的分頁查詢
我們在SpringMVC框架中使用那個presto查詢hive的資料做展示時,發現在table裡分頁是個不可避免的話題。 建議去掉count 但是尷尬的是 對於海量資料 count的效率是很低的,因為在不加條件的情況下基本上要掃描全表。 count操作效能
java中如何實現模糊分頁查詢
分析: 要想將兩部分功能進行合併,只在兩部分獨立功能上進行些改變即可, 1.首先查詢所有記錄數searchTotalSize ()方法的sql語句要進行改變 2.模糊分頁查詢的方法要注意語句的合併寫法 步驟 1.提供一個PageUtils類,其中包含四
greendao實現本地分頁查詢和模糊查詢
public static int PageSize = 15; //分頁載入 //無網路本地 QueryBuilder<VisitorModel> builder = My
mybatis sqlserver 分頁查詢報錯:'@P0' 附近有語法錯誤
錯誤的sql <select id="searchEcoInfoPaged" resultMap="cm"> select TOP #{rows} * from eco_info where ID in ( SELECT to
Hibernate如何使用HQL語句實現資料分頁查詢
實現資料分頁查詢 使用Query介面的 setFirstResult (int firstResult) 方法 和 setMaxResult (int maxResult) 方法實現 setFirstResult (int firstResult) 方法 :設定返回
分頁的幾種方式(邏輯分頁和物理分頁)
/** *//** * TestPageResultSetDAO.java * * Copyright 2008. All Rights Reserved. */package com.cosmow.pageresultset.dao;import java.sql.Connection;import jav
Layui+Springboot+Mybatis+Pagehelper實現條件分頁查詢
分頁查詢是Web專案中非常重要的一項,Mybatis對於條件分頁查詢有其天然優勢,動態sql的靈活運用使得sql語句變得簡潔,在本文中,使用Pagehelper分頁外掛並結合Mybatis逆向出的實體進行條件查詢。 首先,匯入Pagehelper依賴
四種方式實現輪播圖
* { margin:0; padding:0; } ul { list-style:none; } .loop{ pos
高效的SQLSERVER分頁查詢(推薦)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_Page_v2]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sy
Kotlin實戰案例:帶你實現RecyclerView分頁查詢功能(仿照主流電商APP,可切換列表和網格效果)
隨著Kotlin的推廣,一些國內公司的安卓專案開發,已經從Java完全切成Kotlin了。雖然Kotlin在各類程式語言中的排名比較靠後(據TIOBE釋出了 19 年 8 月份的程式語言排行榜,Kotlin竟然排名45位),但是作為安卓開發者,掌握該語言,卻已是大勢所趨了。 Kotlin的基礎用法,整
使用redis的zset實現高效分頁查詢(附完整程式碼)
一、需求 移動端系統裡有使用者和文章,文章可設定許可權對部分使用者開放。現要實現的功能是,使用者瀏覽自己能看的最新文章,並可以上滑分頁檢視。 二、資料庫表設計 涉及到的資料庫表有:使用者表TbUser、文章表TbArticle、使用者可見文章表TbUserArticle。其中,TbU
SQLserver分頁的四種方式
第一種:ROW_NUMBER() OVER()方式 select * from ( select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels ) as b where RowI
SQL分頁查詢的幾種方式
但是 order 結果 htm sql分頁 sele esc 註意 介紹 https://www.cnblogs.com/lxhbky/p/5962393.html 需求:查詢表dbo.Message,每頁10條,查詢第2頁 1:TOP() SELECT TOP(2
Lucene之分頁查詢的三種方式-yellowcong
分頁查詢有三種,一種是直接查詢出這頁及這頁以後的資料,第二種,查詢這頁以前的最後一條資料,然後再查詢這頁之後的資料,這種方式還不如第一種方法快,第三種,是根據一個id來進行分頁,這種方式適合不變更的資料 方法1 思路是將所有的查詢取來,然後取自己當前
SQLSERVER 儲存過程實現分頁查詢 C#後臺獲取查詢結果集
一、為什麼要用分頁查詢 在列表查詢時由於資料量非常多,一次性查出來非常慢,也不能一次顯示給客戶端,特別是在使用ExtJS的GridPanel時候,顯示資料量達到200條時對效能影響難以容忍,所以需要考慮將資料分批次查詢出來,每頁顯示一定量的資料,這就是資料要