SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter proc sp_SelectInfomationByKeyWord--创建一个存储过程 --定义变量
@keyWord nvarchar(20),--查询关键字
@min int ,--当前页面显示数据最小编号
@max int --当前页面显示数据最大编号
as
declare @str nvarchar(1000);--定义一个字符串 --对字符串@str赋值
set @str = 'select * from
(select ROW_NUMBER() over(order by ' + @keyWord + ') as oid ,* from Books) T
where oid
between ' + CAST(@min as nvarchar(100)) + '
and ' + CAST(@max as nvarchar(100))
--定义一个字符串,将sql语句赋值给该字符串
exec (@str)--执行该字符串

以前,学习Oracle的时候,印象里貌似是接触过一个ROWNUM的辅助列,通过这个参数可以对数据库信息进行分页,

哈哈哈哈,Sql Server也有辅助列。ROW_NUMBER() over(order by 需要用来排序的字段)

在尝试了很多次的select top n* from TABLE where id not in (select top n id from TABLE) 这样的子查询语句之后,我茫然了,要写一条sql语句都这么难...

猛然回首,突然发现,还是有一些可以用来温存的东西。

分页sql代码1:

select top [pageSize每页显示的个数] id, c_name,c_oname,c_id from Vjf_adimg where
id not in (select top ([pageSize每页显示的个数]*( [pageIndex当前页数] -1)) id from Vjf_adimg where
pt_oneId=(select id from p_type where pt_typeoname='feiliao') and  len(a_picUrl)>0
order by id desc)
and pt_oneId=(select id from p_type where pt_typeoname='feiliao')
order by
id desc

分页sql代码2:

SELECT id, c_name,c_oname,c_id FROM
(SELECT ROW_NUMBER() OVER
( ORDER BY id desc)
 AS OID , * FROM Vjf_adimg
  WHERE pt_oneId=(select id from p_type where pt_typeoname='feiliao')) T
   WHERE OID
   BETWEEN ([pageSize每页显示的个数]*( [pageIndex当前页数] -1))+1
   AND ([pageSize每页显示的个数]* [pageIndex当前页数]

代码1和代码2运行的结果是相同的!

哈哈,有更方便的代码了啊!

sql语句分页代码的更多相关文章

  1. 使用BAT批处理执行sql语句的代码

    使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...

  2. sql语句分页多种方式ROW_NUMBER()OVER

    sql语句分页多种方式ROW_NUMBER()OVER 摘自: http://www.cnblogs.com/CodingArt/articles/1692468.html 方式一 select to ...

  3. 3种SQL语句分页写法

    在开发中经常会使用到数据分页查询,一般的分页可以直接用SQL语句分页,当然也可以把分页写在存储过程里,下面是三种比较常用的SQL语句分页方法,下面以每页5条数据,查询第3页为例子: 第一种:使用not ...

  4. sql语句分页多种方式

    sql语句分页多种方式ROW_NUMBER()OVER sql语句分页多种方式ROW_NUMBER()OVER 2009年12月04日 星期五 14:36 方式一 select top @pageSi ...

  5. Sql万能分页代码

    sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧 go  ----万能分页代码create procedure [dbo].[sp_datapager] @pagesize int, ...

  6. SQL语句 分页实现

    1 通过sql实现分页. select top 5 * from judgeorder where id  not in (select top 10 id from judgeorder order ...

  7. Sql语句分页,有待优化

    封装成存储过程,但是有点小问题,如果有弄好了的朋友可留言,谢谢了,我只提供了一个模版哈(也是我想实现的功能) create procedure paging_procedure ( @pageInde ...

  8. Entity Framework 使用sql语句分页(查询视图)

    1.查询视图 //3.查询视图 var sql = @" SELECT D.* FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY TestView.B_M ...

  9. Entity Framework 使用sql语句分页(查询单表)

    1.查询单表 var pageSize = 2;//条数 var pageIndex = 2;//索引 var sql = @" SELECT D.* FROM ( SELECT ROW_N ...

随机推荐

  1. hadoop 2.2.0 集群部署 坑

    注意fs.defaultFS为2..0新的变量,代替旧的:fs.default.name hadoop 2.2.0 集群启动命令:bin/hdfs namenode -formatsbin/start ...

  2. [BZOJ 1875] [SDOI 2009] HH去散步【矩阵乘法】

    题目链接:BZOJ - 1875 题目分析: 这道题如果去掉“不会立刻沿着刚刚走来的路走回”的限制,直接用邻接矩阵跑矩阵乘法就可以了.然而现在加了这个限制,建图的方式就要做一些改变.如果我们把每一条边 ...

  3. codeforces Upgrading Array

    思路:对于每个数分解质因子然后记录每一个质因子的个数,对与在b中出现的质因子就减去1,否则加1,求出总的,然后从后面一次对它们的最大公约数,然后判断除以最大公约数之后,改变量是不是变化,求最大值,变化 ...

  4. struts2.0 struts.xml配置文件详解

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...

  5. 9.DataPager

    ListView搭配DataPager控件实现分页.有两种使用方式:一是将DataPager声明到ListView中:一种是DataPager\ListView没有嵌套关系,然后将DataPager的 ...

  6. java学习面向对象之static内存图解

    上一节当中描述了static的用法,以及成员变量和静态变量的区别.但是static除了可以修饰成员变量使之成为静态变量外,他还可以同时修饰函数,使之成为静态函数,我们来看一个例子: class Sta ...

  7. 关于Mysql当中"Got error 134 from storage engine"的解决办法

    今天在开发程序的时候,有一个表, 当调用这个类别时总是调用不出来,很是恼火.后台打印sql语句为: SELECT * FROM `xx_article` WHERE `cid1` =6 LIMIT 0 ...

  8. PHP实现登录,注册,密码修改

    注册,登录,修改密码 1.登录 2.忘记密码 3.免费注册 页面布局 <div id="views" class="views"> <div ...

  9. 固定IP和绑定了MAC,可以在设置无线路由器供笔记本电脑和平板上网吗?

    固定IP和绑定了MAC,可以在设置无线路由器供笔记本电脑和平板上网吗? 这跟我们单位一样.很简单:首先要占一个 IP/MAC ,能上外网的,这首先要有,谁要肯给地址,我们这儿领导才有呢.我是网管,当然 ...

  10. QTP自传之描述性编程

    描述性编程,即采用描述性的语言定位对象,不需要事先将对象添加到对象库中.下面,就说说如何使用描述性编程,我们将继续使用对象库编程中的网页. 使用描述性编程的两种方法 直接描述 对象("属性名 ...