11

嘿Guyz 这有可能获得带有偏移限制的总行数吗

设想

SELECT * FROM users limit 0,5; 

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

我不想要这个

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

我必须合并此查询或帮助绝对值得赞赏

4

1 回答 1

8

您可以像这样使用 SQL_CALC_FOUND_ROWS

SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;

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

SELECT FOUND_ROWS()

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

于 2012-04-10T07:24:03.713 回答