gpt4 book ai didi

sql - 获取分页查询中的总行数

转载 作者:行者123 更新时间:2023-12-04 10:52:20 25 4
gpt4 key购买 nike

我有以下记录分页查询

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 ()有效率的?

最佳答案

具有总行数的典型分页查询是:

SELECT *
FROM (SELECT outr.*,
ROWNUM row_num
FROM (SELECT emp_no,
emp_name,
dob,
count(*) over () total_nb
FROM emp
ORDER BY ...) outr
WHERE ROWNUM < ((pagenum * row_size) + 1))
WHERE row_num >= (((pagenum - 1) * row_size) + 1)

不要忘记 ORDER BY .

关于sql - 获取分页查询中的总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com