使用CodeIgniter的Active Record类和MySQL,我有一个包含 user_id 和其他各种字段的帖子表,我想计算每个用户发了多少帖子。我可以获取 user_id = $ whatever 的行并计算结果数,但是我必须循环遍历每个 user_id 并使用 count_all_results()一遍又一遍地查询每一个。

一定有更好的方法!如果每个字段中都有一个带有 1 的字段,我可以 select_sum 向上该字段并获得计数。但这似乎很愚蠢。

非常感谢提前!

有帮助吗?

解决方案

使用有效记录应为:

$this->db->select('field1, ... ,fieldn, count(1) as number_elements_of_row');

$this->db->group_by(array('field_group_1', ... ,'field_group_n'));

$result = $this->db->get('mytable');

所以 $ result 将满足您的需求!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top