2017-04-17 57 views
2

我有兩個表的公司,率在笨:如何在表計數採用加入MySQL中

公司有兩個columns-

  • 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(); 
    } 
+0

它由 –

+0

刪除組之後,從用戶的評價表中返回因爲goup_by..try的紀錄只有一個,你也可以按照下面的答案.. –

+0

除去組由我收到錯誤,如在彙總查詢,而GROUP BY後 –

回答

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'); 
+0

仍然我得到1.我該怎麼做? –

+0

請發佈樣本數據或sqlfiddle鏈接http://sqlfiddle.com/ – Samir

+0

http://sqlfiddle.com/#!9/757778檢查這一點,我上傳了兩張表 –