请问怎么在分页查询中返回分页前符合查询条件的记录数?
请问怎么查查询分页中返回符答查询条件的记录总数:
select top 10 *
from (select row_number()
over(order by id asc) as rownumber,*
from com_system_menu) temp_row
where rownumber>((2-1)*10);
我要的记录数是上面Where rownumber>((2-1)*10)前的所有记录数?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不知道你用的是什么数据库。
如果是MySQL的话有一个特性专门适用这种场景: FOUND_ROWS。比如按以下方式对某个表foobar执行查询
注1,虽然上述是两条SELECT语句,但实际上查询只是执行一次。
如果使用的是PostgreSQL, 虽然没有完全对等的FOUND_ROWS实现,但是可以通过窗口函数变相地实现类似功能:
注2,PG的上述查询会返回最多10行数据,其中列 total_rows 的值相同,它就是该查询不含LIMIT子句时的总行数。