当前位置: 首页 > 面试题库 >

DB2使用LIMIT和OFFSET

公西天逸
2023-03-14
问题内容

我正在开发Java Web服务,当从IBM中型机(AS400)上的DB2数据库中获取大数据集时,允许分页。

例如; 如果数据集中有10000条记录,我想一次以1000个块的形式获取它们。

我发现这篇文章解释说我可以使用LIMIT和OFFSET。但是我需要将DB2_COMPATIBILITY_VECTOR变量设置为MYS

现在,我一直在谷歌搜索,看到您可以使用db2set来设置此变量。但是我无法找出在哪里键入此命令?

我正在Windows机器上进行开发,并且已经安装了iSeries,并且可以通过iSeries 5250模拟器访问IBM Mid Range Machine。

我知道这一定是一个真正的菜鸟问题,但是如何将DB2_COMPATIBILITY_VECTOR变量更改为MYS


问题答案:

DB2 for Linux Unix Windows(LUW)和DB2 for iSeries是不同的产品。可能,DB2 for
iSeries不支持DB2_COMPATIBILITY_VECTOR。我无法在“ iSeries信息中心”中找到它。

可以使用FETCH FIRST 10 ROWS ONLY子句代替LIMIT。

代替LIMIT和OFFSET,您应该能够将ROW_NUMBER
olap函数
与subselect一起使用。像这样的东西:

 SELECT emp.EMPNO, emp.SALARY
 FROM (

     SELECT EMPNO, SALARY, 
            ROW_NUMBER() OVER(ORDER BY SALARY DESC) as row_number
     FROM EMPLOYEE

 ) emp
 WHERE emp.row_number > 10
 AND emp.row_number <= 20


 类似资料:
  • 本文向大家介绍MongoDB 使用Skip和limit分页,包括了MongoDB 使用Skip和limit分页的使用技巧和注意事项,需要的朋友参考一下 使用Skip和limit可以如下做数据分页: Code:   备注:可用于分页,limit是pageSize,skip是第n-1页*pageSize (n-1表示几  第1,2...页)      skip表示跳过  多少条数据,   聚合管道的优

  • 问题内容: 我有一个带有14个条目的表’Labs’。 查询返回“ 14”。 但是查询返回“ 0”(不像我期望的那样为13)。实际上,当我设置LIMIT行偏移值2、3、4等时,仍然返回“ 0”。 为什么是这样?有没有一种方法可以仅使用mysql确定指定偏移量后的行数? FWIW我正在使用MySQL 5.5.9和InnoDB数据库引擎。 问题答案: 在执行计数后将应用限制。 尝试以下方法: 请注意,在

  • 如果不存在则创建表(int(11)不为空AUTO_INCREMENT,char(50)不为空,主键())engine=innoDB DEFAULT charset=latin1 AUTO_INCREMENT=11; 表tblcontent 如果不存在(int(11)不为NULL AUTO_INCREMENT,char(100)不为NULL,text不为NULL,date不为NULL,char(50

  • 问题内容: 我有一些限制数据以每页仅显示4个项目的代码。我使用的列大约有20到30个项目,因此我需要将这些项目分散在各个页面上。 在第一页上,我有: 您会在页面底部注意到我的定位标记,其中列出了第二个页面“ itempage2.php”。在项目页面2中,我具有相同的代码,除了我的select语句列出了偏移量4。 当我的数据库中有预定数量的项目时,这种方式可以运行。但这不是很好。仅当有更多项目时才需

  • 本文向大家介绍分页使用MySQL LIMIT,OFFSET吗?,包括了分页使用MySQL LIMIT,OFFSET吗?的使用技巧和注意事项,需要的朋友参考一下 首先,我们需要创建一个包含一些记录的表,然后在限制和偏移量的帮助下使用分页。 借助CREATE命令创建表。查询如下- 创建表后,我们将在INSERT命令的帮助下插入记录。 插入记录 插入记录后,我们可以借助SELECT命令检查表中有多少条记

  • 问题内容: 我想知道是否有一种方法可以完成: 通过使用和像这样: 我可以 使用 LIMIT和OFFSET 编写SQL语句,但仍然得到ALL结果吗? 当然我可以使用一条语句,但我尽可能避免使用它 问题答案: 从MySQL文档: 要检索从某个偏移量到结果集结尾的所有行,可以为第二个参数使用较大的数字。该语句检索从第96行到最后一行的所有行: 选择* FROM tbl LIMIT 95,18446744