分页可以只用一个 sql 查询吗? [复制]

Posted

技术标签:

【中文标题】分页可以只用一个 sql 查询吗? [复制]【英文标题】:Can a pagination do with only one sql query? [duplicate] 【发布时间】:2015-06-27 17:47:45 【问题描述】:

据我所知,分页结构至少需要两个 sql 查询。

首先,找到总行

其次,限制你的查询。

有没有办法将查询减少到一个。我们可以使用第一个 sql 查询来操纵分页吗?在第一次查询时,我们已经获取了所有必要的数据。第一个查询的数组可以处理这个问题吗?

【问题讨论】:

为什么分页需要两个查询?能给我举个例子吗?因为我不明白为什么需要两个。对于计数,您可以使用 SQL_CALC_ROWS_FOUND(是的,它确实使用了第二个查询,但它比两个选择查询的工作量要少得多,因为您只是在第二个查询中获得一个变量值)。见:***.com/questions/5928611/… 【参考方案1】:

您可以使用单个查询进行简单的上一个/下一个分页。 为此,我的结果限制是 25,只需查询 26 并仅显示 25。如果您返回的结果少于 26,您就知道您没有更多的结果了。

但是,如果您想准确地显示第 1、2、3 页等的链接。您必须同时查询表中的记录总数和查询仅用于您要显示的数据。

【讨论】:

以上是关于分页可以只用一个 sql 查询吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在这两个 SQL 查询之间,其中一个是“正确的”吗? [复制]

PHP分页查询的类

java&sql的分页怎么做?

sql多表关联,数据量比较大的分页查询,怎么做,有没有较好的方法,

java Spring MCV sql查询结果重复

如何使用过滤器和分页优化 SQL Server 查询?