Php 如何在codeigniter中选择具有不同单列值的表数据

Php 如何在codeigniter中选择具有不同单列值的表数据,php,mysql,codeigniter,Php,Mysql,Codeigniter,下面的代码是关于使用codeigniter sql查询从我的db表中获取产品的。我通过限制最多4个产品并应用产品成本低于900的where条件来获取一行产品,但我不知道如何获取低于900的产品,但每个项目的价格不同。这意味着,一旦提取了产品0f 500,它就不应该再提取500,它应该在产品id描述的帮助下寻找另一个产品。请向我解释查询逻辑,我应该如何编写 public function byPrice() { $query = $this->db->limit

下面的代码是关于使用codeigniter sql查询从我的db表中获取产品的。我通过限制最多4个产品并应用产品成本低于900的where条件来获取一行产品,但我不知道如何获取低于900的产品,但每个项目的价格不同。这意味着,一旦提取了产品0f 500,它就不应该再提取500,它应该在产品id描述的帮助下寻找另一个产品。请向我解释查询逻辑,我应该如何编写

public function byPrice()
    {
        $query = $this->db->limit(4)
                          ->where('pro_cost<', 900)
                          ->get('products');
        return $query;
    }
公共函数byPrice()
{
$query=$this->db->limit(4)
->其中('pro_cost
$Q=“从'pro_cost`<900的'pro_cost`中选择不同的'pro_cost'”;
$result=$this->db->query($Q)->result();
$this->db->where('cost<900',NULL)->分组依据('id')->分组依据('cost')->获取('product'))

请用一些简单的数据发布您的表格结构。这样我可以帮助您解决问题。这个问题的状态如何,它是否仍然开放或已解决?您只在一个答案下发表了评论。这个答案可能应该删除,您发布了2个,另一个是
$Q="SELECT DISTINCT `pro_cost` FROM `products` WHERE `pro_cost` < 900"; 
$result=$this->db->query($Q)->result();
$this->db->where('cost < 900', NULL)->group_by('id')->group_by('cost')->get('product')