这是不是可以获得具有偏移限制的总行数
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()
因此您不必重复复杂的查询。
【讨论】:
以上是关于这是不是可以获得具有偏移限制的总行数的主要内容,如果未能解决你的问题,请参考以下文章