Hey Guyz这是否可以通过偏移限制获得总行数
方案
SELECT * FROM users limit 0,5;
此查询包含300条记录,但问题是如果我使用offset调用此查询,结果将只显示5条记录,而且我不想在两次写入查询。一个用于分页限制,另一个用于总记录数...
我不想要这个
SELECT * FROM users limit 0,5; // paging
SELECT count(*) FROM users; // count
我必须合并这个查询或帮助肯定赞赏
答案 0 :(得分:7)
您可以像这样使用SQL_CALC_FOUND_ROWS
SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5;
在应用任何LIMIT子句之前获取行计数。它确实需要另一个查询来获取结果,但该查询可以只是
SELECT FOUND_ROWS()
因此您无需重复复杂的查询。