Если вы пытаетесь получить это в одном утверждении (общее плюс подкачка). Возможно, вам понадобится изучить поддержку SQL Server для раздела по пунктам (оконные функции в терминах ANSI SQL). В Oracle синтаксис такой же, как в приведенном выше примере с использованием row_number (), но я также добавил разделение по выражению, чтобы получить общее количество строк, включенных в каждую строку, возвращаемую в подкачку (общее количество строк равно 1262):
SELECT rn, total_rows, x.OWNER, x.object_name, x.object_type
FROM (SELECT COUNT (*) OVER (PARTITION BY owner) AS TOTAL_ROWS,
ROW_NUMBER () OVER (ORDER BY 1) AS rn, uo.*
FROM all_objects uo
WHERE owner = 'CSEIS') x
WHERE rn BETWEEN 6 AND 10
Обратите внимание, что у меня есть, где owner = 'CSEIS', и мой раздел по владельцу Итак, результаты:
RN TOTAL_ROWS OWNER OBJECT_NAME OBJECT_TYPE
6 1262 CSEIS CG$BDS_MODIFICATION_TYPES TRIGGER
7 1262 CSEIS CG$AUS_MODIFICATION_TYPES TRIGGER
8 1262 CSEIS CG$BDR_MODIFICATION_TYPES TRIGGER
9 1262 CSEIS CG$ADS_MODIFICATION_TYPES TRIGGER
10 1262 CSEIS CG$BIS_LANGUAGES TRIGGER