Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan peringkat rata-rata per produk menggunakan kueri codeigniter?

dapatkan data dari tabel peringkat , menggunakan gabungan kiri dengan pilih untuk rata-rata.

join() fungsi dari Codeigniter memungkinkan Anda untuk menulis bagian pilih alih-alih nama tabel, tetapi Anda harus menempatkannya dalam tanda kurung:

$this->db->select('t1.*, t2.avg_rating, t3.*');
$this->db->from('ratings t1');
$this->db->join('
                  (select product_id, avg(rating) as avg_rating 
                   from ratings 
                   group by product_id)  t2','t2.product_id=t1.product_id','left'
                );
$this->db->join('users t3','t3.id=t1.user_id','left'); 
$this->group_by('t1.userid')
$this->db->get()->result();

menghasilkan:

SELECT t1.*, t2.avg_rating, t3.*
FROM ratings t1
left join 
        (select product_id, avg(rating) as avg_rating from ratings group by product_id)  t2 
    on t2.product_id=t1.product_id
left join users t3
    on t1.user_id = t3.id
group by t1.user_id

dan keluaran seperti yang Anda harapkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. buat kueri perulangan treeview

  2. Pertanyaan sensitivitas kasus varchar unik SQL

  3. Mengubah kunci utama MySQL ketika ada batasan kunci asing

  4. MySQL DROP semua tabel, abaikan kunci asing

  5. SELECT View berisi subquery dalam klausa FROM