在Codeigniter中:如何使用在mysql中加入来计算表

时间:2017-04-17 12:21:05

标签: php mysql codeigniter

我有两个表公司,评价

公司有两列 -

  • v_id
  • COMPANY_NAME

user_ratings有三列

  • R_ID
  • v_id

在此费率v_id列中,我有company_id(v_id),它有两个不同的评级,当我计算一个公司的评级时,每次我只得到一个。如何计算公司的评级。

function get_list() {

        $this->db->select('company.company_name, COUNT(user_ratings.rate) as rate');
        $this->db->from('company_details');
        $this->db->join('user_ratings', 'company.v_id = user_ratings.v_id');
        $this->db->group_by('company.company_name, rate');
        $query = $this->db->get();

        return  $query->result();
    }

1 个答案:

答案 0 :(得分:1)

您已将结果与company_namerate分组。这就是为什么它为所有记录返回计数为1的原因。仅按公司名称分组将返回所需的结果。

更改此

$this->db->group_by('company.company_name, rate');

$this->db->group_by('company.company_name');

此外,company用作company_details表的别名,但未创建。

$this->db->from('company_details AS company');