我有以下查询和结果集
第一个数据未分组,第二个数据按“类别”分组。我的目标是在这个分组数据上使用分页,但是由于Oracle 11g不支持LIMIT和OFFSET,因此它已经成为一个问题。
我研究了这个问题的想法;
How to add offset in a "select" query in Oracle 11g?
但是我不想使用WHERE子句,因为它会从组中排除记录。
SELECT MAX(tb_test_1.category) as category, COUNT(tb_test_1.category) as count
FROM tb_test_1
GROUP BY tb_test_1.category
有人可以告诉我如何在Oracle 11g的上述查询中使用LIMIT和OFFSET吗?
谢谢
答案 0 :(得分:0)
这是众所周知的问题,可能存在大量已回答的重复问题,但无论如何,在您的情况下,此查询应该有效:
select * from (
select rownum offset, rs.* from (
SELECT MAX(t.category) as category,
COUNT(t.category) as count
FROM tb_test_1 t
GROUP BY t.category
/* add order by clause here if needed */
) rs
) where rownum <= 10 /* limit */
and offset >= 0 /* offset */