我使用下面的查询抢从MySQL数据库的结果:如何计算从MySQL查询返回的结果总数?
$query = $this->db->query("
SELECT * FROM results r
INNER JOIN categories c on r.id = c.result_id
INNER JOIN tags t on r.id = t.result_id
WHERE c.name in ('$purpose', '$prop_type', '$loan_type')
$tag_string
AND (r.scope = 'all' OR r.scope = '$subdomain')
GROUP BY r.id
HAVING COUNT(c.c_id) = 3
ORDER BY r.usefulness DESC
LIMIT 10 OFFSET $offset
");
返回的结果有可能是500+
我怎么能算行的总金额此查询将返回如果有没有限制,所以我可以显示给用户?
我实际上已经尝试过,并且得到以下错误... 您的SQL语法错误;请检查与您的MySQL服务器版本对应的手册,以便在第10行'SELECT FOUND_ROWS()'附近使用正确的语法。SELECT SQL_CALC_FOUND_ROWS * FROM results r INNER JOIN categories c on r.id = c.result_id INNER JOIN标记t ('purchase','single_family','usda')和r.id = t.result_id WHERE c.name AND(r.scope ='all'或r.scope ='redflagwiki')GROUP BY r.id HAVING COUNT(c.c_id)= 3 ORDER BY r.usefulness DESC LIMIT 10 OFFSET 0 SELECT FOUND_ROWS(); –
这个过程仍然需要通过2个查询来完成:如果您在提示符下键入该内容,请确保在“OFFSET 0”之后添加了分号。在PHP中,执行初始查询只需添加SQL_CALC_FOUND_ROWS,然后再执行另一个查询“SELECT FOUND_ROWS();” –
非常感谢!这很好 –