mysql-在查询中使用LIMIT获取所有结果的计数

SELECT `p`.`name`, `f`.*
        FROM `players` `p`, `folks` `f`
        WHERE `p`.`id` = `f`.`guid` 
        AND `f`.`deleted` = 0
        AND `first` = {$id} 
        AND `text` LIKE ?
        LIMIT 10

如您所见,我在这里使用LIMIT条件.我需要计算所有没有LIMIT条件的匹配结果.

我试过使用:FOUND_ROWS();但是我在使用它时遇到了问题,因为它不会在任何地方返回“所有”结果.

最佳答案
以下应该做:)
重要的是SQL_CALC_FOUND_ROWS,否则FOUND_ROWS()将不起作用!

SELECT SQL_CALC_FOUND_ROWS `p`.`name`, `f`.*
    FROM `players` `p`, `folks` `f`
    WHERE `p`.`id` = `f`.`guid` 
    AND `f`.`deleted` = 0
    AND `first` = {$id} 
    AND `text` LIKE ?
    LIMIT 10


SELECT FOUND_ROWS();

转载注明原文:mysql-在查询中使用LIMIT获取所有结果的计数 - 代码日志