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

Que*_*ter 11 mysql merge count offset

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

脚本

SELECT * FROM users limit 0,5; 
Run Code Online (Sandbox Code Playgroud)

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

我不想要这个

SELECT * FROM users limit 0,5; // paging 
SELECT count(*) FROM users; // count 
Run Code Online (Sandbox Code Playgroud)

我必须合并这个查询或帮助肯定是赞赏

liq*_*car 8

您可以像这样使用SQL_CALC_FOUND_ROWS

SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;
Run Code Online (Sandbox Code Playgroud)

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

SELECT FOUND_ROWS()
Run Code Online (Sandbox Code Playgroud)

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