分页可以只用一个 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 查询之间,其中一个是“正确的”吗? [复制]