【问题标题】:How to get multiple value for `Product` from Database?如何从数据库中获取“产品”的多个值?
【发布时间】:2016-09-14 07:59:31
【问题描述】:

在下面的代码中,我试图找到使用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)产品MAX(rate)产品AVG(rate)分离

【问题讨论】:

  • 你为什么在那里使用 2 个选择函数?
  • my_rates 是产品和价格表,产品是列所以我想找到MIN | MAX | AVG rate 的值我得到的是单独的所有费率值,但我也想要费率的产品就像我有 MIN(rate) 不同的产品和 MAX(rate) 不同的产品
  • 您是否要从整个人群中选择 min / max / avg 费率,如果您有产品,该费率恰好与 min 、 max 或 avg 相同,然后将它们的名称显示为出色地? (对于平均费率,您可能没有与平均费率相同的产品)
  • 是的,平均而言,它将设置默认产品,但对于最低和最高价值率,我得到的是相同的产品
  • 我认为您需要使用group_by$this->db->group_by('product_id');

标签: php mysql codeigniter codeigniter-3


【解决方案1】:

我建议如下:

$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 可以通过 product 键访问。

CodeIgniter 的查询构建器记录得很好 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 2018-09-30
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    相关资源
    最近更新 更多