当前位置: 首页 > 知识库问答 >
问题:

使用db2创建分页

扈高逸
2023-03-14

我读到DB2不支持限制和偏移量。我还读到您必须使用ROW_NUMBER()和子查询来获得所需的结果。如果这是SQL查询:

$sql = "SELECT * FROM ITEMS LIMIT $offset, $rowsperpage";

其中$offset是偏移量,$rowserPage是我希望在页面上显示的数据库行的数量,这可以等效为DB2查询。

共有1个答案

壤驷志学
2023-03-14

嗯,根据您使用的DB2平台,您没有阅读完整的故事。DB2 LUW支持LIMIT和OFFSET,但您必须将其打开(设置标志后不要忘记重新启动DB2)。如果您希望按照您的要求使用带有ROW_NUMBER()的DB2,那么您可以编写查询,如下所示:

SELECT * 
  FROM (SELECT ROW_NUMBER() OVER() AS rn, 
               items.* 
          FROM items)
  WHERE rn BETWEEN computelowerboundaryhere AND computeupperboundaryhere;

还有一篇概述文章描述了在DB2中进行限制/偏移量工作的不同方法。

 类似资料:
  • 用于为表创建索引。 索引是一组指针,它指的是MDC或ITC表中的表块中的行,XML存储对象中的XML数据,这些XML数据在逻辑上按一个或多个键的值排序。 索引用于提高查询数据的速度以及有效地对数据进行聚类和分区。 索引可以增强视图操作的性能。具有唯一索引的表可以包含具有唯一键的行。 可以根据表要求创建不同类型的索引。 索引类型 唯一和非唯一索引 群集和非群集索引 单击create index,它将

  • 主要内容:创建表选项有助于在DB2数据库中创建许多对象,即创建表,创建视图,创建索引,创建序列,创建过程,创建函数,创建触发器等。 创建表 下面来看看如何使用RazorSQL创建表: 指定表名和列数,如下图所示: 现在输入列名以及数据类型,并生成SQL。 现在单击执行SQL,它将创建一个名称为“Students”的表,将看到成功创建表的弹出消息。 在模式下的表树形菜单下应该能看到新创建的表“Students”。

  • 如果要为数据库服务器创建新的缓冲池,只需要两个名称为和的参数。 使用以下查询创建新的缓冲池: 语法: 这里,指定缓冲池的名称,指定页面的大小。需要声明缓冲池值(,,,) 示例: 创建一个名称为的新缓冲池,其中为。

  • 主要内容:创建非限制性数据库,创建限制性数据库命令用于在实例中创建数据库。所有数据库都是使用默认存储组创建的,该存储组是在创建实例时创建的。 在DB2中,所有数据库表都存储在中,后者使用各自的存储组。 创建非限制性数据库 命令用于创建非限制性数据库。 语法: 示例 假设要创建一个名称为“XYZ”的数据库 安装后,切换到用户才有权创建新数据库。根据安装的版本,可能会更改该用户名。 但DB2默认使用作为管理员用户。 查看目录,将看到一个新用户(最

  • 我在我们的测试Databse上用Liqibase创建了一个表,我们没有问题创建下表: 如果我在客户数据库上运行此语句,则错误如下: DB2 SQL 错误: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=(;LT 当前时间戳;DEFAULT, DRIVER=4.13.127 有什么建议吗?

  • 我试图在我的DB2V10.5中创建DB2 MQT表,但是我得到了以下错误消息: 在“begin-of-statement”后面发现意外的令牌“CREATE TABLE T_MQT AS(SELECT ID,COL1,C”。预期的令牌可能包括:“”...SQLCODE=-104,SQLSTATE=42601,DRIVER=4.16.53 SQL代码:-104,SQL状态:42601 下面是我的cre