当前位置:首页 » 编程语言 » db2分页sql

db2分页sql

发布时间: 2022-08-22 20:52:48

A. db2转化为mysql的分页查询

MySQL 分页, 太省事了. 直接 LIMIT 就可以啦!

LIMIT
接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是
0(而不是 1)

例如: 假设每页10行。

SELECT * FROM news ORDER BY id DESC LIMIT 0, 10 为获取 第1行开始。 累计检索10行。

翻1页以后。第2页
SELECT * FROM news ORDER BY id DESC LIMIT 10, 10;

第3页
SELECT * FROM news ORDER BY id DESC LIMIT 20, 10;

B. db2分页技术优化问题:

fetchfirst20rowsonly是提取前20条数据的不能作为分页来使用。

分页有三种:

1、 如果一定要使用fetchfirst 20 rowsonly 的方式,可以使用WITH AS 方式实现:

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

WITH TMP AS(

select * from (

select *,rownumber() over(order by id asc ) as row_id from table_name

) where row_id > (pagenumber-1)*pagesize

)

SELECT TMP.* FROM TMP WHERE fetch first pagesize rows only

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

2、比较常见的SQL分页,可以使用沈阳java网友的写法:

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

select*from(

select*,rownumber()over(orderbyidasc)asrowidfromtable_name

)asa

wherea.rowid>=(pagenumber-1)*pagesize+1ANDa.rowid<=pagenumber*pagesize

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

3、使用PageHelper分页插件,也可以实现自动分页:

使用方法

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

a.引配置

<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">

</plugins>

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

b.使用:

LogInfoQueryexample=newLogInfoQuery();

example.setOrderByClause("iddesc");

Criteriacriteria=example.createCriteria();

if(null!=logInfo.getStartTimeQuery()&&null!=logInfo.getEndTimeQuery()){

criteria.andOpTimeBetween(logInfo.getStartTimeQuery(),logInfo.getEndTimeQuery());

}

PageHelper.startPage(page.getPageNo(),page.getPageSize());

List<LogInfo>result=logInfoMapper.selectByExample(example);

PageInfo<LogInfo>pageInfo=newPageInfo<>(result);

returnpageInfo;

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

使用示例结束。

如果不懂可以追问。

C. 求教db2中的sql语句,关于分页查询,查询从第

一、查询指定模式下的所有表
db2 LIST TABLES FOR SCHEMA 模式名

二、查询当前模式下所有表及信息
db2 select tabname from syscat.tables where tabschema = CURRENT SCHEMA

三、查询当前模式下所有的表
db2 LIST TABLES FOR ALL

四、查询指定表名的表
db2 select * from syscat.tables where TABNAME = '表名'(表名必须大写,不加模式,原因是TABNAME是syscat.tables中的一个字段,TABSCHEMA模式是另一个字段,两者唯一确定一张表)

希望这些可以给你帮助

D. 同样的分页sql语句,在ibatis和db2中查询的结果不一样

99%是你分页传入参数有问题,仔细查一下代码。

另查询语句加上order by,固定使用某一条件排序。

E. 如何用sql存储过程实现结果集分页功能

1SET ANSI_NULLS ON
2GO
3SET QUOTED_IDENTIFIER ON
4GO
5CREATE TABLE [dbo].[testTable](
6 [id] [int] IDENTITY(1,1) NOT NULL,
7 [testDate] [datetime] NOT NULL CONSTRAINT [DF_testTable_testDate] DEFAULT (getdate()),
8 [name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
9 [description] [nchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
10 [orderColum] [float] NOT NULL,
11 CONSTRAINT [PK_testTable] PRIMARY KEY CLUSTERED
12(
13 [id] ASC
14)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
15) ON [PRIMARY]
16

F. 在mysql 数据库下,基于sql 语言的分页语句

楼主问的是mysql下的吧
"QUERY_SQL
limit
?,?"
QUERY_SQL
就是查询语句,比如select
sno,sname
from
student
limit
1,15;
使用limit关键字,第一个"?"是起始行号,
第二个"?"是返回条目数
=====================================================
另外提供给LZ其他数据库的分页语句
Oracle
SELECT
*
FROM
(
SELECT
A.*,
ROWNUM
RN
FROM
(QUERY_SQL
)
A
WHERE
ROWNUM
<=
?)
WHERE
RN
>=

结合rownum关键字,利用嵌套三层select
语句实现。第一个"?"表示终止行号,
第二个"?"表示其实行号
==============================================
Sql
Server
尚无通用语句
可使用top
n来返回前n条记录或使用存储过程
================================================
DB2
假设查询语句:select
t1.*
from
t1
order
by
t1.id;
分页语句可为:
"select
*
from
(
select
rownumber()
over
(order
by
t1.id)
as
row_,
t1.*
from
t1
order
by
t1.id)
as
temp_
where
row_
between
?+1
and
?"
返回两个"?"之间的记录
===================================================
InterBase
“QUERY_SQL
row
?
to
?”
返回两个"?"之间的记录
PostgreSQL
“QUERY_SQL
limit
?
offset
?”
第一个"?"为起始行号,第二个"?"代表
返回记录数
=======================================================

G. J2EE项目,用的SSH,开始用的db2,用的hibernate分页,后来用的oracle,但分页sql还是db2时的,能改吗

能改啊 oracle 的查询语句跟DB2的稍微 不同 只需改下hql就OK了

H. 几种常见SQL分页方式效率比较,一帖子

sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 totalRecouds 表中的总记录数 select count (*) from 表名 totalPages 总页数 totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1 pages 计算前pages 条数据 pages= pageSize*(pageNumber-1) SQL语句: select top pageSize * from 表名 where id not in (select top pages id from 表名 order by id) order by id 第二种分页方法 pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 pages=pageSize*(pageNumber-1)+1 select top pageSize * from 表名 where id>=(select max(id) from (select top pages id from 表名 order by id asc ) t ) mysql分页 需用到的参数: pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 totalRecouds 表中的总记录数 select count (*) from 表名 totalPages 总页数 totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1 pages 起始位置 pages= pageSize*(pageNumber-1) SQL语句: select * from 表名 limit pages, pageSize; mysql 分页依赖于关键字 limit 它需两个参数:起始位置和pageSize 起始位置=页大小*(页数-1) 起始位置=pageSize*(pageNumber -1) oracle分页 pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 totalRecouds 表中的总记录数 select count (*) from 表名 totalPages 总页数 totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1 startPage 起始位置 startPage= pageSize*(pageNumber-1)+1 endPage=startPage+pageSize SQL语句 select a.* from ( select rownum num ,t.* from 表名 t where 某列=某值 order by id asc )a where a.num>=startPage and a.num<endPage db2分页 int startPage=1 //起始页 int endPage; //终止页 int pageSize=5; //页大小 int pageNumber=1 //请求页 startPage=(pageNumber-1)*pageSize+1 endPage=(startPage+pageSize); SQL语句 select * from (select 字段1,字段2,字段3,字段4,字段5,rownumber() over(order by 排序字段 asc ) as rowid from 表名 )as a where a.rowid >= startPage AND a.rowid <endPage access分页 pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 pages=pageSize*(pageNumber-1)+1 SQL语句 select top pageSize * from 表名 where id>=(select max(id) from (select top pages id from 表名 order by id asc ) t )

热点内容
md5加密后的密码是什么意思 发布:2025-01-18 15:50:16 浏览:192
如何qq空间访问权限 发布:2025-01-18 15:49:30 浏览:531
matlab遗传算法约束 发布:2025-01-18 15:31:33 浏览:909
果冻java 发布:2025-01-18 15:25:59 浏览:696
电脑与时间服务器同步间隔 发布:2025-01-18 15:21:28 浏览:54
苹果手机apple登录密码在手机哪里 发布:2025-01-18 15:13:43 浏览:380
吃鸡去哪里下手游安卓 发布:2025-01-18 15:10:59 浏览:668
东方财富dk指标源码 发布:2025-01-18 14:45:53 浏览:435
陌陌登陆密码是什么 发布:2025-01-18 14:36:54 浏览:848
海龟编译器代码 发布:2025-01-18 14:16:51 浏览:34