分页SQL

USE [OumindBlog]
GO
/****** Object: StoredProcedure [dbo].[Usp_GetAlbByPage14] Script Date: 03/18/2015 23:37:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <JJH>
-- Create date: <Create Date,,>
-- Description: <得到相册分页数据>
-- =============================================
ALTER PROCEDURE [dbo].[Usp_GetAlbByPage14]
-- Add the parameters for the stored procedure here
@pageIndex int,
@pageSize int,
@rowCount int output
AS
BEGIN
--关闭sql语句的执行统计,提高性能
SET NOCOUNT ON;

--计算开始和结束的标签
declare @startIndex int,@endIndex int
set @startIndex =(@pageIndex-1)*@pageSize
set @[email protected]*@pageSize

--得到分页的数据
select * from (select rowId=(ROW_NUMBER() over(order by paid desc)),* from BlogPhotoAlblum where PaIsDel=0)
as t where t.rowId>@startIndex and t.rowId<[email protected]

--获取数据总行数
select @rowCount=COUNT(1) from BlogPhotoAlblum where PaIsDel=0

END

时间: 2024-12-28 01:12:53

分页SQL的相关文章

创建sql自定义的函数及商品分页sql存储过程

--商品筛选时判断品牌ID是否存在 --select dbo.isValite(94,94)create function isValite(@brandId int,@bId int)returns intas begin Declare @rNumber int if @brandId = @bId set @rNumber = 1 else set @rNumber = 0 if @bId = 0 set @rNumber = 1 return @rNumberendgo --判断商品筛选

atitit。mssql sql server 转换mysql 及 分页sql ast的搭建

atitit.mssql sql server 转换mysql  及 分页sql ast的搭建 1. 主要的的转换::函数的转换,分页的转换 1 2. 思路::mssql sql >>ast>>mysql 1 3. sql主要的如下::: 1 4. Mssql2MysqlConvertor (proj:wechatAdm4propt 2 1. 主要的的转换::函数的转换,分页的转换 2. 思路::mssql sql >>ast>>mysql 3. sql主要

Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句

最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页  第一种分页方法 需用到的参数:  pageSize 每页显示多少条数据  pageNumber 页数 从客户端传来  totalRecouds 表中的总记录数 select count (*) from 表名  totalPages 总页数  totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/

ORACLE分页SQL

1,使用rownum SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 2,使用between SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A ) WHERE RN BETWEEN 21 AND 40 ORACLE分页SQL,布布扣,b

报表性能优化方案之单数据集分页SQL实现层式报表

1.概述 我们知道,行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005,sqlite等必须编写分页SQL. 下面以Access数据库为例介绍需要写分页SQL的数据库怎样利用行式的引擎实现层式报表. 解决方案提供工具:报表开发工具FineReport 2.解决思路 对于mysql这类可以直接使用行式的引擎实现层式报表的数据库来说,如果勾选了行式引擎,程序会自动生成分页sql,如,我新建了一个数据

Oracle数据库和DB2数据库分页SQL的区别举例

--------------------------ORACLE数据库分页SQL举例------------------------------------------------ SELECT * FROM ( SELECT TEMP.*, ROWNUM AS NUM FROM ( SELECT EB.EHR_ID,EB.PERSON_NAME,CL.SVC_ID a,BILL.SVC_ID b,BILL.ITEM_NAME FROM PHIS.EHR_BASE EB, PHIS.SVC_CL

盘点几种数据库的分页SQL的写法(转)

Data序列——盘点几种数据库的分页SQL的写法http://www.cnblogs.com/fireasy/archive/2013/04/10/3013088.html

分享一个通用的分页SQL

又很久没写博客,今天记录一个SQLserver通用分页存储过程(适用于SqlServer2000及以上版本) 1.支持连表 2.支持条件查询 USE [MYDB] GO /****** Object:  StoredProcedure [dbo].[SP_CommonPage] SET QUOTED_IDENTIFIER ON GO ------------------------------------ --用途:分页存储过程(对有主键的表效率极高) --说明: ---------------

分页sql优化

如果分页sql里包含排序: select * from (...order by id) where rownum <=20 因为要排序,所以即使是分页只取20条,执行计划还是要把所有满足条件的记录到取出来,然后再整体进行排序,再取结果的20条返回. 假如满足条件的结果很多,这个sql的性能会比较差. 如何避免排序? 可以给order by的字段加索引,由于索引本来就是按顺序的,所以按索引取前20条就可以,不需要再排序,就不需要查出所有满足条件的记录. sql性能大大提高. 但是,如果order

分页SQL代码

SELECT TOP 10 * FROM citys WHERE (city_id NOT IN (SELECT TOP 30 city_id FROM citys where country_id=44 and parent_id=0 ORDER BY city_id)) and country_id=44 and parent_id=0 ORDER BY city_id select * from (select *,ROW_NUMBER() OVER(Order by a.city_id)