我有一个category表,并且需要为同样的表做分页。我使用的是JSF,并使用XML进行查询。有没有办法更好地优化这个查询。
SELECT
*
FROM
(
SELECT
categories.*,
ROWNUM rn
FROM
(
SELECT
*
FROM
(
SELECT
*
FROM
categories
WHERE
name LIKE 'FAMILY%'
ORDER BY
id
)
WHERE
ROWNUM < 21
) categories
)
WHERE
rn > 10;发布于 2020-02-06 14:49:36
在较新的数据库版本12上,提供了偏移和提取特性,因此您的查询可能如下所示
SELECT *
FROM categories
WHERE name LIKE 'FAMILY%'
ORDER BY id
OFFSET 10 rows -- skips first 10 rows of the result
FETCH 11 rows only;请试一下那个。
可以使用以下查询检查DB版本
select * from v$version;发布于 2020-02-06 14:37:30
您是否在寻找这样的查询?
SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY id) ROWNUM,* FROM categories
WHERE name LIKE 'FAMILY%') as categories where ROWNUM between 10 and 21https://stackoverflow.com/questions/60088898
复制相似问题