这是不是可以获得具有偏移限制的总行数

Posted

技术标签:

【中文标题】这是不是可以获得具有偏移限制的总行数【英文标题】:Is this possible to get total number of rows count with offset limit这是否可以获得具有偏移限制的总行数 【发布时间】:2012-04-22 11:41:54 【问题描述】:

Hey Guyz 这是否可以通过偏移限制获得总行数

场景

SELECT * FROM users limit 0,5; 

这个查询包含 300 条记录,但问题是如果我用偏移量调用这个查询,结果将只显示 5 条记录,我不想在两次写入查询。一个用于分页限制,另一个用于记录总数...

我不想要这个

SELECT * FROM users limit 0,5; // paging 
SELECT count(*) FROM users; // count 

我必须合并此查询或帮助,非常感谢

【问题讨论】:

1) 为什么不单独运行它们? 2)count 查询中是否有额外的limit 子句? 这是一个简短的查询示例,我有一个很大的查询,为什么我不想两次编写查询@MostyMostacho 【参考方案1】:

你可以像这样使用 SQL_CALC_FOUND_ROWS

SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;

它在应用任何 LIMIT 子句之前获取行数。它确实需要另一个查询来获取结果,但该查询可以简单地是

SELECT FOUND_ROWS()

因此您不必重复复杂的查询。

【讨论】:

以上是关于这是不是可以获得具有偏移限制的总行数的主要内容,如果未能解决你的问题,请参考以下文章

总行数 + 限制选择

单个 mysqli 查询语句来获取总行数和限制

html 限制textarea中的总行数和文本长度

具有限制和偏移量的 CodeIgniter sql 查询未显示结果

Git:在日期范围内更改的平均行数和总行数

具有限制/偏移的 Firebase 查询可能的解决方案