Codeigniter select_avg('columnname')WHERE thisaverage> X

时间:2012-08-18 13:12:49

标签: codeigniter activerecord average

我想要做的是从我的数据库中选择平均评论大于7的项目。

$this->db->select_avg('reviews.overall');

该查询选择“整体平均评价”。

因此我假设我可以简单地使用

$this->db->where('overall>','7');

然而,这不起作用。

任何想法?

由于

EDIT 放入空间

        $this->db->select_avg('reviews.overall');
    $this->db->where('overall >','7');

产生错误

  

where子句中的'整体'列是不明确的

这是模棱两可的,但我现在的意思是如何引用它?

THX

1 个答案:

答案 0 :(得分:2)

也在codeigniter用户手册中写了:

$this->db->select_avg();为您的查询写入“SELECT AVG(field)”部分。与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();