我想进行有效的记录查询,以获得列订单的最大值 其中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');
答案 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()
方法。更加快速,更加不言自明。