sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧

go  ----SqlServer万能分页代码

create procedure [dbo].[sp_datapager]

@pagesize int,--每一页的大小

@pageindex int,--页码数

@tablename varchar(Max),--表的名称

@keycolumn varchar(20),---主键id

@columns varchar(200),--要查询出列的名称

@where varchar(200),---查询条件

@orderby varchar(100),---排序方式

@recordcount int out--输出参数,非0则返回要查询表的总记录数

as

declare @sql nvarchar(3000)

declare @rcsql nvarchar(1000)

set @rcsql='select @rc=count(*) from '+@tablename

set @sql='select top '+convert(varchar(3),@pagesize)+' '+ @columns+' from '+

@tablename +' where '+@keycolumn+' not in(select top '+

convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+

' from '+@tablename+')'

if (@where!='')

begin

set @rcsql='select @rc=count(*) from '+@tablename+' where '+@where

set @sql='select top '+convert(varchar(3),@pagesize)+ @columns+' from '+

@tablename +' where '+@keycolumn+' not in(select top '+

convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+

' from '+@tablename+' where '+@where+') and '+@where

end

if (@orderby!='')

begin

if (@where!='')

begin

set @sql='select top '+convert(varchar(3),@pagesize)+ @columns+' from '+

@tablename +' where '+@keycolumn+' not in(select top '+

convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+

' from '+@tablename+' where '+@where+' order by '+@orderby+') and '+

@where+' order by ' +@orderby

end

else

begin

set @sql='select top '+convert(varchar(3),@pagesize)+ @columns+' from '+

@tablename +' where '+@keycolumn+' not in(select top '+

convert(varchar(10),(@pageindex-1)*@pagesize)+' '+@keycolumn+

' from '+@tablename+' order by '+@orderby+')'+' order by ' +@orderby

end

end

declare @param nvarchar(100)

set @param='@rc int output'

exec sp_executesql @sql

exec sp_executesql @rcsql,@param,@rc=@recordcount output

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MySql通用分页加条件

delimiter //

drop procedure if exists `WebPager`;

create DEFINER=`root`@`%` procedure WebPager

(

in tableName varchar(4000),-- 表关系

in selectField varchar(4000),-- 要查询的字段

in strwhere varchar(4000),-- 条件

in ordering varchar(1000),-- 排序字段

in sort int,-- 排序方式 0表示顺序,1表示倒序

in pageIndex int,-- 当前页数

in pageSize int ,-- 每页显示的记录数

out rows int -- 总行数

)

begin

-- declare sqlstr varchar(4000);

set @sqlstr=concat('select SQL_CALC_FOUND_ROWS ',selectField,' from ',tableName,' where 1=1 ');

if strwhere is not null then -- 判断条件是否为空

set @sqlstr=concat(@sqlstr,' and ',strwhere);

end if;

if ordering is not null then

if sort=0 then

set @sqlstr=concat(@sqlstr,' order by ',ordering);

end if;

if sort=1 then

set @sqlstr=concat(@sqlstr,' order by ',ordering,' desc');

end if;

end if;

set @sqlstr=concat(@sqlstr,' limit ',(pageIndex-1)*pageSize,',',pageSize);

-- select sqlstr;

PREPARE distSQL FROM @sqlstr;

EXECUTE distSQL;

DEALLOCATE PREPARE distSQL;

set rows=FOUND_ROWS();-- 获取总记录数

end; //

-- call WebPager('card_manager','*','Del_Flag=0 and Balance>1000','Card_Code',1,1,2,@rows); select @rows;

mysql sqlserver分页_SqlServer、MySql万能分页代码相关推荐

  1. oracle mssql 实例,oracle,mysql,SqlServer三种数据库的分页查询的实例

    MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了. LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数, ...

  2. mysql sqlserver 拷贝_SQLServer复制搭建过程

    一次偶然的机会,碰到了传说中的SQL Server数据库,要做迁移.而我本人对于SQL Server来说一窍不通.于是就按照自己对Mysql.oracle的了解来做,于是就先做复制,然后如果有延迟,就 ...

  3. python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例

    在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...

  4. php分页技术的作用,分页原理技术细节剖析(php+mysql)实例

    提到分页,大家都不陌生,在我们日常浏览网页时常遇到,尤其新闻文章列表等都有分页,如下图所示: 分页实例 下面,通过一个实例为大家剖析一下分页原理上技术细节. 一.功能开发思路 在分页功能的实现前,先做 ...

  5. mysql无序id怎么优化limit_MYSQL分页limit速度太慢优化方法

    原标题:MYSQL分页limit速度太慢优化方法 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器哦. 当一 ...

  6. Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容

    2019独角兽企业重金招聘Python工程师标准>>> 摘要 学习(Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程),尝试搭建ssh框架 ...

  7. MySQL 和 Oracle 大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  8. 【MySQL Tips】偏移量大的分页查询LIMIT子句的优化方法

    SQL优化是要看执行计划分析,并做基准测试的. 前言 MySQL官方关于LIMIT子句的优化建议在之前的文章中写过,链接如下: 8.2.19 LIMIT查询优化.note [MySQL 8翻译]8.2 ...

  9. mysql 分页查询web_JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)...

    JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)-1.jpg (40.23 KB, 下载次数: 0) 2018-8-18 13:34 上传 在开发过程中,经常做的一件事,也是最基本的事 ...

最新文章

  1. win10下右键菜单添加“打开cmd”
  2. Unable to instantiate application
  3. layui表格使用:经验总结(含案例、代码、截图)
  4. java 读取raw文件_Android 读取assets和raw文件内容实例代码
  5. 软件各项会议评审意见模版
  6. tdscdma手机linux,全方位介绍——TD-SCDMA无线技术(1)
  7. redis可视化工具desktop manager
  8. PC Logo入门指南
  9. micropython移植增加驱动,MicroPython之LPC1788移植
  10. 树形结构的处理——组合模式(一)
  11. 2020校招途家名宿开发笔试
  12. 网络文学,为雪中打Call
  13. Tableau基础 | 维度、度量、蓝色、绿色
  14. 长假将至,携程滴滴都太老土了!俺们区块链的出行方式是酱紫的……
  15. 计网 | 网络层 SDN控制器 / 远程控制器
  16. 小知识:btn.addEventListener is not a function报错处理
  17. SIW-微带过渡结构
  18. 永远不要忽视 粉红色/红色的异样字体 在你不知道为什么跟你期望偏差那么大的时候,,不要急记得去问问为什么
  19. Unity Shader 卡通渲染 (三):仿塞尔达荒野之息 Shader(顶点色控制细节)
  20. 一、Lua 教程的学习

热门文章

  1. 关于tcp网络通讯的几个场景的小测试
  2. git commit -m和git commit -am
  3. 二、【List、Set、数据结构、Collections】
  4. 37--计算一个字符串中每个字符出现次数
  5. 增量导出_[华为]一种实用的增量式深度CTR模型训练方法
  6. dvwa如何打开_DVWA详细 安装
  7. Storm程序的并发机制原理总结
  8. 华为手机充满有提醒吗_2020手机充电速度排名:最快21分钟充满,华为第15名
  9. python opc plc_PYthon简易OPC数据采集写入Access
  10. va_list va_start va_end的使用