codeigniter-MySQL-PHP试图计算不同值的出现次数

codeigniter-MySQL-PHP试图计算不同值的出现次数,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有一张桌子 表: 身份证名称 1约翰 2詹姆斯 3约翰 4詹姆斯 5玛丽 这就是我想要达到的目标 姓名计数 约翰2 詹姆斯2 玛丽1 我正在使用来自控制器的以下代码: $data['total_rows'] = $this->MyModel->count_Names(); public function count_names() { $name1 = $this->db->get_where('Name_table',array('name'=>'J

我有一张桌子 表:

  • 身份证名称
  • 1约翰
  • 2詹姆斯
  • 3约翰
  • 4詹姆斯
  • 5玛丽
  • 这就是我想要达到的目标

  • 姓名计数
  • 约翰2
  • 詹姆斯2
  • 玛丽1
  • 我正在使用来自控制器的以下代码:

    $data['total_rows'] = $this->MyModel->count_Names();
    
    public function count_names()
    {
         $name1 = $this->db->get_where('Name_table',array('name'=>'John'));
         return $name1    = $name1->num_rows();
    }
    
    上面的代码既单调又冗余。 有什么建议可以把它弄干净吗。 只需一个代码就可以分别查找所有出现的名称。
    感谢活动记录样式:

    $this->db->select('name, COUNT(*) as total');
    $this->db->group_by('name');
    $result = $this->db->get('Name_table');
    $result_array = $result->result_array();  //Get the result as array
    foreach($result_array as $name) {
        echo $name['name'].' - '.$name['total'];
    }
    

    按名称从name_表组中选择name,count(*)
    如何以Codeigniter方式编写。我对它有点陌生?谢谢,我将检查它,并在查询中更新一点,提供更多信息供您理解。我发现了这个错误:函数empname.COUNT不存在。检查参考手册中的“函数名解析和解析”部分对不起,计数后有一个空格。删除“COUNT”和“(*)”之间的空格没有问题!别忘了升级到MAMP v3,这是一个全新的版本!