-
sqlserver实现分页的方法实例分析
本文实例讲述了sqlserver实现分页的方法。分享给大家供大家参考,具体如下:declare@indexint,@numintset@index=1--当前页set@num=2--单页包含的行数--分页1selecttop(@num)*fromppohdwheredoccodenotin(selecttop(@num*(@index-1))doccodefromppohdorderbydoccode)orderbydoccode--分页2selecttop(@num)*fromppohdwheredoccode>=(selectmax(doccode)from(selecttop(@num*(@index-1)+1)doccodefromppohdorderbydoccode)astb)--分页3selecttop(@num)*from(selectppohd.doccodeas'mydoccode',row_number()over(orderbydoccode)assno,*fromppohd)astbwheretb.sno>=@num*(@index-1)+1--分...
数据库操作教程 2022-09-23 18:11:32 -
SQL分页查询方式汇总
需求:查询表dbo.Message,每页10条,查询第2页1:TOP()SELECTTOP(20)*FROMdbo.MessageWHERECodeNOTIN(SELECTTOP(10)CodeFROMdbo.Message)2:BETWEEN*AND*,Row_Number()OVER(ORDERBY*)ASrowNumSELECT*,ROW_NUMBER()OVER(ORDERBYCode)ASrowNumINTO#aFROMdbo.MessageSELECT*FROM#aWHERErowNumBETWEEN11AND20DROPTABLE#a;3:WITH*AS(),Row_Number()OVER(ORDERBY*)ASrowNumWITHsssAS(SELECT*,ROW_NUMBER()OVER(ORDERBYCreateTime)ASrowNumFROMDBO.Message)SELECT*FROMsssWHERErowNumBETWEEN11AND204:SQLServer2012的OFFSET-FETCH筛选SELECT*FROMDBO.MessageORDERBYC...
数据库操作教程 2022-09-23 18:10:51 -
SQL数据分页查询的方法
最近学习了一下SQL的分页查询,总结了以下几种方法。首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图:现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据...
数据库操作教程 2022-09-23 18:10:13 -
浅析SQLServer的分页方式ISNULL与COALESCE性能比较
前言上一节我们讲解了数据类型以及字符串中几个需要注意的地方,这节我们继续讲讲字符串行数同时也讲其他内容和穿插的内容,简短的内容,深入的讲解。(可参看文章《详解SQLServer中的数据类型》)分页方式在SQL2005或者SQL2008中我们是利用ROW_NUMBER开窗函数来进行分页的,关于开窗函数,我们在SQL进阶中会详细讲讲...
数据库操作教程 2022-09-23 18:08:42 -
MSSQL分页存储过程完整示例(支持多表分页存储)
本文实例讲述了MSSQL分页存储过程。分享给大家供大家参考,具体如下:USE[DB_Common]GO/******对象:StoredProcedure[dbo].[Com_Pagination]脚本日期:03/09/201223:46:20******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO/**************************************************************Sql分页存储过程(支持多表分页存储)**调用实例:EXECCom_Pagination100,--总记录数0,--总页数--'Person',--查询的表名'PersonpLEFTJOINTEaONa.PID=p.Id',--查询的表名(这里为多表)'a.*',--查询数据列'p.ID',--排列字段'p.ID',--分组字段2,--每页记录数1,--当前页数0,--是否使用分组,否是'a.pid=2'--查询条件**********************************************************...
数据库操作教程 2022-09-23 18:06:10 -
Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
先来定义分页语句将要用到的几个参数:intcurrentPage;//当前页intpageRecord;//每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载分页语句Stringsql="selecttop"+pageRecord+"*fromaddressbookwhereidnotin(selecttop"+(currentPage-)*pageRecord+"idfromt_user)";//(currentPage-)*pageRecord:是指从第几个记录开始第二页SQL演示:selecttop20*fromaddressbookwhereidnotin(selecttop10idfromaddressbook)二、MySQL数据库分页语句Stringsql="select*fromaddressbookwherelimit"+(currentPage-)*pageRecord+","+pageRecord+"";//select*from表名【条件】limitM,N;//M为从第几个记录开始,比如每页显示条记录,第二页就必...
数据库操作教程 2022-09-23 18:04:51 -
SQLServer存储过程实现单条件分页
话不多说,请看代码:SQLServerProcedurePagination_basic:ALTERPROCEDURE[qiancheng].[Pagination_basic](@Table_nameVARCHAR(255),--nameoftable@Rows_targetVARCHAR(1000)='*',--searchrows@Rows_conditionVARCHAR(1000)='',--theconditiontofindtarget(nowhere)@Rows_orderVARCHAR(255)='',--therowstorank@Order_typeINT=0,--*Q*C*0normal1down@PageSizesINT=10,--thesizeofeachpage@PageIndexINT=1,--currentpage@ShowPagesINT,--whethershowthepages*Q*C*1-yes0-no@ShowRecordsINT,--whethershowtherecord*Q*C*1-yes0-no@Records_totalINTOUT...
数据库操作教程 2022-09-23 18:01:54 -
五种SQLServer分页存储过程的方法及性能比较
在SQLServer数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览。本文我们总结了五种SQLServer分页存储过程的方法,并对其性能进行了比较,接下来就让我们来一起了解一下这一过程...
数据库操作教程 2022-09-23 17:57:15 -
sql分页查询几种写法
关于SQL语句分页,网上也有很多,我贴一部分过来,并且总结自己已知的分页到下面,方便日后查阅1.创建测试环境,(插入100万条数据大概耗时5分钟)。createdatabaseDBTestuseDBTest--创建测试表createtablepagetest(idintidentity(1,1)notnull,col01intnull,col02nvarchar(50)null,col03datetimenull)--1万记录集declare@iintset@i=0while(@i<10000)begininsertintopagetestselectcast(floor(rand()*10000)asint),left(newid(),10),getdate()set@i=@i+1end2.几种典型的分页sql,下面例子是每页50条,198*50=9900,取第199页数据...
数据库操作教程 2022-09-23 17:53:44 -
asp.net中如何调用sql存储过程实现分页
首先看下面的代码创建存储过程1、创建存储过程,语句如下:CREATEPROCP_viewPage@TableNameVARCHAR(200),--表名@FieldListVARCHAR(2000),--显示列名,如果是全部字段则为*@PrimaryKeyVARCHAR(100),--单一主键或唯一值键@WhereVARCHAR(2000),--查询条件不含'where'字符,如id>10andlen(userid)>9@OrderVARCHAR(1000),--排序不含'orderby'字符,如idasc,useriddesc,必须指定asc或desc--注意当@SortType=3时生效,记住一定要在最后加上主键,否则会让你比较郁闷@SortTypeINT,--排序规则1:正序asc2:倒序desc3:多列排序方法@RecorderCountINT,--记录总数0:会返回总记录@PageSizeINT,--每页输出的记录数@PageIndexINT,--当前页数@TotalCountINTOUTPUT,--记返回总记录@TotalPageCountINTOUTPUT--返...
数据库操作教程 2022-09-23 17:51:09 -
SQLServer使用row_number分页的实现方法
本文为大家分享了SQLServer使用row_number分页的实现方法,供大家参考,具体内容如下1、首先是selectROW_NUMBER()over(orderbyidasc)as'rowNumber',*fromtable1生成带序号的集合2、再查询该集合的第1 到第5条数据select*from(selectROW_NUMBER()over(orderbyidasc)as'rowNumber',*fromtable1)astempwhererowNumberbetween1and5完整的Sql语句declare@pagesizeint;declare@pageindexint;set@pagesize=3set@pageindex=1;--第一页select*from(selectROW_NUMBER()over(orderbyidasc)as'rowNumber',*fromtable1)astempwhererowNumberbetween(((@pageindex-1)*@pagesize)+1)and(@pageindex*@pagesize)set@page...
数据库操作教程 2022-09-23 17:49:23 -
详解SQLServer和Oracle的分页查询
不管是DRP中的分页查询代码的实现还是面试题中看到的关于分页查询的考察,都给我一个提示:分页查询是重要的。当数据量大的时候是必须考虑的...
数据库操作教程 2022-09-23 17:48:59