Php 如何从数据库中获取'Product'的多个值?

Php 如何从数据库中获取'Product'的多个值?,php,mysql,codeigniter,codeigniter-3,Php,Mysql,Codeigniter,Codeigniter 3,在下面的代码中,我试图使用MIN(rate)查找最小速率,使用MAX(rate)查找最大速率,使用AVG(rate)查找速率的平均值,我得到的是MIN(rate)| MAX(rate)| AVG(rate)的结果是相同的 $this->db->select('MIN(rate),MAX(rate),AVG(rate)'); $this->db->select('my_rates.product'); $this->db->from('m

在下面的代码中,我试图使用
MIN(rate)
查找最小速率,使用
MAX(rate)
查找最大速率,使用
AVG(rate)
查找速率的平均值,我得到的是
MIN(rate)| MAX(rate)| AVG(rate)
的结果是相同的

    $this->db->select('MIN(rate),MAX(rate),AVG(rate)');
    $this->db->select('my_rates.product');
    $this->db->from('my_rates');
    $query = $this->db->get();
    return $query->result_array();

如何获得
MIN(rate)
Product
MAX(rate)
Product
AVG(rate)
Separate

我建议如下:

$query = $this->db->select('product, MIN(rate) as min, MAX(rate) as max, AVG(rate) as avg', FALSE)
    ->get('my_rates');
return $query->result_array();
最小值可通过键min访问,最大值可通过键max访问,平均值可通过键avg访问,my_rates.product可通过键产品访问


CodeIgniter的查询生成器有很好的文档记录

为什么要在那里使用2个选择函数?
my_rates
是产品和费率的表,产品是列,所以我想找到
MIN
|
MAX
AVG费率的值,我得到的是单独的所有费率值,但我还想要不同产品的费率产品,如我的
MIN(rate)
,以及
MAX(rate)
,是否要从整个人群中选择最小/最大/平均费率?如果有产品,哪个费率恰好与最小、最大或平均费率相同,然后显示它们的名称?(对于平均费率,您可能没有与平均费率相同的产品)对于平均费率,它将设置默认产品,但对于最小值和最大值费率,我得到的是相同的产品。我认为您需要使用
group\u by
<代码>$this->db->group_by('product_id')