mysql - 使用 mysql count() 或 num_rows 的更好方法

标签 mysql select count

我正在使用这个 mysql 选择查询来检查数据库中给定类别存在多少图像。我想为一个类别保留最多 5 张图像。

$q = "SELECT image_id FROM image_info
            WHERE category_id = 1 AND member_id = $userId";
$r = $mysqli->query($q) or trigger_error($mysqli->error." [$q]"); 

if($r->num_rows <= 4) {
    echo 'good';
    // my stuff 
} else {
    echo 'bad';
}

这对我有用。但我想知道有没有办法使用 mysql COUNT() 进行此查询?如果是这样,更好的方法是什么。

谢谢。

最佳答案

这取决于你想要实现什么

num_rows 当记录数较少时更好,因为它是获取的结果记录数。

count(*) 是数据库中与查询匹配的记录数。 Count(*) 比 num_rows 更有效,因为在 num_rows 中,您从数据库检索许多记录并最终将这些记录传递给 PHP


"SELECT count(*) FROM image_info WHERE category_id ='".$userId."'";

关于mysql - 使用 mysql count() 或 num_rows 的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29284126/

相关文章:

syntax - 如何使用 SPSS 语法来统计变量组合的实例?

mysql - 返回列和表持有值

php - 我怎样才能执行这个MySQL连接操作?

mysql - 用更有效的方法替换子选择计数

python - 在多列上使用 numpy 二维数组从 Pandas 数据框中选择行

mysql - 最高行数

c++ - 如何从 `decltype(<funtion>)` 获取函数参数的数量?

mysql - 如何更新同一表的子查询中的列并将值设置为

mysql - bash 从 bash 命令更新 mysql

javascript - JQuery/Javascript -- 基于选择而不是值显示 div