SQL server分页的三种方法
一、Entity Framework的Linq语句的分页写法:
var datacount = test.OrderBy(t => t.testID)
.Skip(pageSize * (pageIndex - 1))
.Take(pageSize).ToList();
二、SQL Server分页的SQL语句写法:
select
top (需要显示的条目数) *
from
DBTest
where TestID not in
(select top (需要剔除的条目数) TestID from DBTest)
三、SQL Server分页的存储过程写法:
第一种:
create proc proc_TestPage
@PageIndex int --第几页
@PageSize int --每页显示的条数
@pageCount int output --总的页数,因为需要显示页数,因此是个输出参数
as
declare @datacount int --总数据条数
select @datacount=count(*) from DBTest--获得总数据条数值并赋给参数
set @pageCount=ceiling(1.0*@datacount/@pageSize) --获得总页数,并赋给参数
select top(@PageSize) * from DBTest where TestID not int (select top(@PageSize*(@PageIndex-1)) from DBTest)
select @PageCount=Count(*) from DBTest
第二种:
create proc P_Test --创建存储过程P_Test
@pageSize int, --每页数据条数
@pageIndex int, --当前页数(页码)
@pageCount int output --总的页数,因为需要显示页数,因此是个输出参数
as
declare @datacount int --总数据条数
select @datacount=count(*) from DBTest --获得总数据条数值并赋给参数
set @pageCount=ceiling(1.0*@datacount/@pageSize) --获得总页数,并赋给参数
--接下来是获得指定页数据
select * from
(select *,row_number() over(order by TestID ) as num from DBTest) as temp
where num between @pageSize*(@pageIndex-1)+1 and @pageSize*@pageIndex
SQL server分页的三种方法的更多相关文章
- SQL server分页的四种方法
SQL server分页的四种方法 1.三重循环: 2.利用max(主键); 3.利用row_number关键字: 4.offset/fetch next关键字 方法一:三重循环思路 先取前20页, ...
- SQL server分页的四种方法(算很全面了)
这篇博客讲的是SQL server的分页方法,用的SQL server 2012版本.下面都用pageIndex表示页数,pageSize表示一页包含的记录.并且下面涉及到具体例子的,设定查询第2 ...
- SQL Server中的三种Join方式
1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...
- SQL SERVER 2008 中三种分页方法与总结
建立表: CREATE TABLE [TestTable] ( , ) NOT NULL , ) COLLATE Chinese_PRC_CI_AS NULL , ) COLLATE Chinese_ ...
- SQL Server启动的几种方法
SQL Server 启动有以下几种方法: (1)在Control Panel——Administrative Tools——Services,找到SQL Server (XXX)进行启动. 其中XX ...
- 浅谈SQL Server中的三种物理连接操作
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- SQL Server中的三种物理连接操作
来源:https://msdn.microsoft.com/zh-cn/library/dn144699.aspx 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Out ...
- SQL Server 备份的 8 种方法。
方法 1. 完整备份 方法 2. 差异备份 方法 3. 部分备份(备份数据库的read_write部分) 方法 4. 文件备份 方法 5. 文件组备份 方法 6. 只复制备份 方法 7. 日志备份 - ...
- 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
随机推荐
- Little Tiger vs. Deep Monkey(hdu4815)01背包
题:http://acm.hdu.edu.cn/showproblem.php?pid=4815 题意:已知n个题以及每个题答对的得分,给出p概率 小老虎vs小猴子答题:已知小猴子随机答题,请问老虎至 ...
- [转]Selenium私房菜系列1 -- Selenium简介
一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...
- 开始学习Linux
1.路径: 绝对路径: 从根目录开始描述; 相对路径: 从当前位置开始描述的路径; . 当前目录 .. 上级目录 ~/ <===> /home/acs 家目录 ...
- eclipse中利用Maven逆向工程生成PO类以及mapper(mybatis)
在pom.xml的project>build里面添加如下代码,让maven环境支持mybatis-generator组件 <pluginManagement> <plu ...
- JDBC概念和基本用法
概念: JDBC (Java DataBase Connectivity):Java数据库连接,Java语言操作数据库.是官方(sun公司)定义的一套操作所有关系型数据库的规则, 即接口.各个 ...
- SQL-增删改
-- 删除表drop table -- 建表create table -- 表注释comment on table ... is ...-- 字段注释comment on column ... is ...
- IDEA-mybatis逆向工程使用
首先我们需要安装mybatis逆向工程插件mybatis Generator: 然后在pom.xml文件中添加逆向工程插件: <!--mybatis逆向工程插件--> <plugin ...
- openSUSE Tumbleweed 安装原生微信
优麒麟网站上有![微信原生版](https://www.ubuntukylin.com/applications/106-cn.html)提供下载. 之前用 Ubuntu的时候,直接安装就可以使用. ...
- IDEA 启动SpringBoot项目或Spring项目出现程序包XXX不存在
该方法是在你的pom中的依赖(是否缺少,版本是否兼容)maven仓库等配置没有问题的情况下 第一种方法: 打开IDEA底部的终端Terminal,输入"mvn idea:idea" ...
- JavaScript 包装类
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...