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)
ProductMAX(rate)
ProductAVG(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')代码>