从DB2中的数据库中选择的记录数
我一次只能从数据库DB2中获取50条记录,为此我一直在使用Row_编号,但现在人们告诉我,Row_编号不稳定,并且有bug,所以现在我必须为相同的数据编写一个不同的查询,因为我一次只能获取50条记录 那么请任何人也能帮我吗 提前谢谢 我一直使用的查询是从DB2中的数据库中选择的记录数,db2,Db2,我一次只能从数据库DB2中获取50条记录,为此我一直在使用Row_编号,但现在人们告诉我,Row_编号不稳定,并且有bug,所以现在我必须为相同的数据编写一个不同的查询,因为我一次只能获取50条记录 那么请任何人也能帮我吗 提前谢谢 我一直使用的查询是 SELECT PLC.* FROM (SELECT ROW_NUMBER() OVER (ORDER BY PRDLN_CTLG_OID) AS Row, PRDLN_CTLG_OID,
SELECT PLC.*
FROM
(SELECT
ROW_NUMBER() OVER (ORDER BY PRDLN_CTLG_OID) AS Row,
PRDLN_CTLG_OID,
PRODUCT_LINE_OID AS PRODUCT_LINE_OID,
RTRIM(CATALOG_ID) AS CATALOG_ID,
FROM
PROD_LINE_CATALOG
WHERE
PRODUCT_LINE_OID = :productLineOID AND ACTV_IND = 1
ORDER BY CATALOG_ID) PLC
WHERE
Row >= :startIndex AND Row <= :endIndex
ORDER BY
PLC.CATALOG_ID DESC
WITH UR
使用fetch子句
FETCH FIRST 50 ROWS ONLY
编辑
看起来您使用了startIndex和endIndex值。我知道你们将这些和行进行比较,但你们还有其他的索引要比较吗?如果不是,并且您坚持从行编号移动,那么该表可能需要另一个索引
Select PLC.* From (Select omitting row_number())
Where yournewindex >= startIndex
Fetch first 50 rows only
使用fetch子句
FETCH FIRST 50 ROWS ONLY
编辑
看起来您使用了startIndex和endIndex值。我知道你们将这些和行进行比较,但你们还有其他的索引要比较吗?如果不是,并且您坚持从行编号移动,那么该表可能需要另一个索引
Select PLC.* From (Select omitting row_number())
Where yournewindex >= startIndex
Fetch first 50 rows only
有人已经回答了这个问题。如果我没有错的话,你是在要求分页
有人已经回答了这个问题。如果我没有错的话,你是在要求分页
在11个月的时间里,你问了12个问题,得到了23个答案,但你没有接受任何问题。奖励那些你觉得有用的人怎么样?在11个月的时间里,你已经问了12个问题,收到了23个答案,但你没有接受任何问题。奖励那些你觉得有用的人怎么样?与查询开头的LIMIT或TOP子句不同,FETCH子句位于endDavid,但是FETCH记录总是只从数据库中给我前N行,如果我想获得介于50到100之间的记录,它肯定不支持它。与查询开头的LIMIT或TOP子句不同,FETCH子句位于endDavid,但是FETCH记录总是只从数据库中给我前N行,如果我想获得介于50到100之间的记录,它肯定不支持它。