我想选择与用户列表相比的论坛帖子数量。所以它看起来像这样:
USERID --- FORUMPOSTS
3647 - 2
7467 - 14
2673 - 39
3224 - 5
... 等等
现在我问通过 COUNT(*) 计算论坛帖子是否会更快,或者之前循环遍历用户列表并为每个用户创建一个新查询以通过 mysql_num_rows 计算他/她的论坛帖子。
我想选择与用户列表相比的论坛帖子数量。所以它看起来像这样:
USERID --- FORUMPOSTS
3647 - 2
7467 - 14
2673 - 39
3224 - 5
... 等等
现在我问通过 COUNT(*) 计算论坛帖子是否会更快,或者之前循环遍历用户列表并为每个用户创建一个新查询以通过 mysql_num_rows 计算他/她的论坛帖子。
您可以让 SQL 进行分组和计数
select userid, count(*) as forumposts
from your_table
group by userid
现在我问通过 COUNT(*) 计算论坛帖子是否会更快,或者之前循环遍历用户列表并为每个用户创建一个新查询以通过 mysql_num_rows 计算他/她的论坛帖子。
前者会更快,“通过 COUNT(*) 计算论坛帖子”。您可以按如下方式对结果进行分组:
SELECT userid, COUNT(*) FROM my_table GROUP BY userid
如果您的表在列上有索引,它会更快userid
。