Sql 如何在嵌套查询中使用ROWNUM

Sql 如何在嵌套查询中使用ROWNUM,sql,oracle,indexing,rownum,Sql,Oracle,Indexing,Rownum,在上面的查询中,如果我在1到200之间搜索,它会很好地提取记录,但当我将其切换到2或1以上的另一个整数时,它无法查询任何记录,这是怎么回事? 这是语法问题吗?提前感谢您提供的任何帮助。在为where条件计算行时,将分配ROWNUM。将检索行源中的第一行,并给定ROWNUM=1。如果WAR条件之一为ROWNUM>1,则不会选择此行 然后ROWNUM=1被重新分配到下一行,这将再次导致where子句失败,以此类推。这是因为最后ROWNUM必须从1开始连续运行,它将不是一个有间隙的序列。因此,任何不允

在上面的查询中,如果我在1到200之间搜索,它会很好地提取记录,但当我将其切换到2或1以上的另一个整数时,它无法查询任何记录,这是怎么回事? 这是语法问题吗?提前感谢您提供的任何帮助。

在为where条件计算行时,将分配ROWNUM。将检索行源中的第一行,并给定ROWNUM=1。如果WAR条件之一为ROWNUM>1,则不会选择此行

然后ROWNUM=1被重新分配到下一行,这将再次导致where子句失败,以此类推。这是因为最后ROWNUM必须从1开始连续运行,它将不是一个有间隙的序列。因此,任何不允许ROWNUM为1的条件都是一个例子:其中modROWNUM,2=0将产生零行,原因完全相同

SELECT * FROM(
SELECT * FROM(
SELECT PART_NO, SRC_PART_NO, CTNM_ENG, DESCRIPTION, USER_ID, REG_DT, CHG_DT, FLAG,       
(select count(*) from ( SELECT PART_NO, SRC_PART_NO, CTNM_ENG, DESCRIPTION, USER_ID, REG_DT, CHG_DT, FLAG
FROM GM_PART_LIST
WHERE PART_NO LIKE  '%' || '%' AND SRC_PART_NO LIKE  '%' || '%' AND CTNM_ENG LIKE  'BOLT'|| '%'
AND 1 = 1) ) as total_count -- Nested subquery that return total count of record set. plug in same where conditions.
FROM GM_PART_LIST
WHERE PART_NO LIKE  '%' || '%' AND SRC_PART_NO LIKE  '%' || '%' AND CTNM_ENG LIKE  'BOLT'|| '%'
AND 1 = 1
ORDER BY PART_NO ASC))
WHERE ROWNUM BETWEEN 2 AND 202;