sql语句分页代码
2014-02-13 14:40
330 查看
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语句之一写法与代码写法
- oracle 分页sql 分段查数据和分段求和 sql语句 和java代码
- springmvc+mybatis 做分页sql 语句实例代码
- 【代码】SQL分页语句
- 三种SQL分页查询语句
- SQL分页语句的三种方案
- ORACLE 分页SQL语句
- SQL语句分页
- sql分页查询语句(三种主流数据库)
- 二种sql分页查询语句分享
- sql 语句搞定数据库分页
- 通用的可带查询条件的SQL语句的分页存储过程(2)
- sql server 纯sql语句分页 存储过程 返回结果集及页总数等
- SQL分页语句
- ORACLE分页SQL语句
- 秒杀SQL 之分页语句 count 优化
- 关于分页的sql语句
- php mssql 分页SQL语句优化 持续影响
- Asp.Net:分页sql语句的两种写法