如何调整此查询以使用CodeIgniter中的活动记录获取列中的最大值?

时间:2013-03-12 13:44:31

标签: php mysql codeigniter activerecord codeigniter-2

我想进行有效的记录查询,以获得列订单的最大值 其中parent_id等于$ parent_id。

到目前为止,我有这个:

function get_biggest_order($parent_id)
    {
        $result = 0;
        if(!empty($parent_id)) 
        {
            $this->db->where('parent_id', $parent_id);
            $result = $this->db->get('pages');
        }
        return $result;
    }

但正如你所看到的那样,我得到的是所有行,而不仅仅是订单列具有最大值的行,例如14。

怎么做?

我在考虑类似的事情:

$this->db->where('parent_id', $parent_id);
$this->db->where('order', something is the biggest);
$result = $this->db->get('pages');

2 个答案:

答案 0 :(得分:1)

您必须使用order_by

$this->db->where('parent_id', $parent_id);
$this->db->order_by('order', 'desc');
$this->db->limit(1);
$result = $this->db->get('pages')->row();

答案 1 :(得分:1)

您应该使用select_max()方法。更加快速,更加不言自明。