Codeigniter选择_avg('columnname'),其中thisaverage>x
我想做的是从我的数据库中选择平均评论大于7的项目Codeigniter选择_avg('columnname'),其中thisaverage>x,codeigniter,activerecord,average,Codeigniter,Activerecord,Average,我想做的是从我的数据库中选择平均评论大于7的项目 $this->db->select_avg('reviews.overall'); 该查询选择“作为总体”的平均评审 因此,我认为我可以简单地使用 $this->db->where('overall>','7'); 然而,这是行不通的 有什么想法吗 谢谢 编辑 放置空间 $this->db->select_avg('reviews.overall'); $this->db
$this->db->select_avg('reviews.overall');
该查询选择“作为总体”的平均评审
因此,我认为我可以简单地使用
$this->db->where('overall>','7');
然而,这是行不通的
有什么想法吗
谢谢
编辑
放置空间
$this->db->select_avg('reviews.overall');
$this->db->where('overall >','7');
产生错误
where子句中的“总体”列不明确
它是模棱两可的,但我现在该如何引用它呢
Thx它也写在codeigniter用户手册中: $this->db->select_avg;为查询写入SELECT AVGfield部分。与select_max一样,您可以选择包含第二个参数来重命名结果字段 如果在CI中启用探查器,您将看到,这段代码生成了什么查询。 生成的代码如下所示:
SELECT AVG(reviews.overall) as reviews.overall FROM ....
$this->db->select_avg('reviews','overall');
$this->db->from('table name');
$this->db->where('overal >', 7);
$Q = $this->db->get();
像这样使用它:
SELECT AVG(reviews.overall) as reviews.overall FROM ....
$this->db->select_avg('reviews','overall');
$this->db->from('table name');
$this->db->where('overal >', 7);
$Q = $this->db->get();
您是否尝试在全局和>>之间添加空格?$this->db->where'reviews.overall>,'7';工作?但您的查询中的总体内容是什么?还有桌子吗?谢谢。很抱歉造成混淆,但我将其引用为“reviews.overall”,因为我正在连接查询中的两个表。此代码不起作用。我使用$this->db->select_avg'rating','overall'->from'cursor_rating'->where'overall>,5->get;它向我显示错误号:1054“where子句”中的未知列“totall”从光标_评级中选择AVGrating作为totall,其中totall>5