计算每个组中的行数

时间:2009-06-18 22:05:31

标签: sql codeigniter

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

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

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

使用有效记录应为:

$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会得到你需要的东西!