我有两个表公司,评价
公司有两列 -
user_ratings有三列
在此费率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();
}
答案 0 :(得分:1)
您已将结果与company_name
和rate
分组。这就是为什么它为所有记录返回计数为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');