gpt4 book ai didi

php - 如何在 Codeigniter 中使用 JOIN 从两个表中获取 AVERAGE

转载 作者:行者123 更新时间:2023-11-29 06:20:02 24 4
gpt4 key购买 nike

我有一个如下所示的表结构,我想获得每个帖子的平均评分,为此我正在编写以下查询来加入和获取记录,但它给出了语法错误:

$this->db->select($query = $this->db->query('SELECT * FROM post,AVG(`rating`) AS `avg_rating` JOIN review ON `post`.`id` = `review`.`post_id`');

enter image description here

最佳答案

发现两个问题:

  • 您的代码不正确。 Codeigniter 在创建查询时需要某种格式,请遵循 manual here更深入地了解。

  • 您得到的是平均评分,但您没有分组,因此以一个结果结束,而不是每个帖子一个结果。

这就是我重写您的模型方法的方式:

function getRatingInfo(){
$this->db->select("*, AVG(rating) AS avg_rating");
$this->db->from("post p");
$this->db->join("review r", "p.id=r.post_id");
$this->db->group_by("post_id");
$query = $this->db->get();
return $query->result();
}

关于php - 如何在 Codeigniter 中使用 JOIN 从两个表中获取 AVERAGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33737209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com