Я следующий запрос для ведения пагинацииПолучить общее количество строк в постраничной запросе
SELECT *
FROM (SELECT e.*,
ROWNUM row_num
FROM (SELECT emp_no,
emp_name,
dob
from emp) outr
WHERE ROWNUM < ((pagenum * row_size) + 1))
WHERE row_num >= (((pagenum - 1) * row_size) + 1)
Я хотел бы получить количество строк, а в том же запросе, и для этого я попытался с помощью
COUNT(*) OVER()
Однако я не получаю точных результатов, когда я разбиваю на страницы на следующий набор страниц и строк.
Как можно эффективно использовать COUNT(*) OVER()
?
Просьба предоставить образец данных и желаемый результат. –
Вы должны поместить COUNT (*) в самый внутренний запрос: 'SELECT emp_no, emp_name, dob, COUNT (*) FROM emp'. Конечно, таким образом вам придется подсчитывать все строки каждый раз, когда вы извлекаете записи для следующей страницы. Я полагаю, вы не хотите получать число строк один раз? –
@PrzemyslawKruglej Не могли бы вы объяснить, что именно вы подразумевали под ** Я полагаю, вы не хотите получать число строк один раз? ** – user75ponic