选择使用join和group by形成的表中最近日期的行

时间:2017-08-30 05:41:28

标签: php mysql sql codeigniter

我正在加入三个表并应用group by来选择每种类型的单个不同行。当我加入table marketing_follow时,我有多个条目并选择一个我正在使用group by。现在我想在后续表中选择最近日期的条目。我已经尝试完成这项工作很长一段时间了,真的需要一些帮助

public function getRegionWiseUserDetails($array){

    $this->db->select('mg.region_name, mu.contact_person, mu.contact_number, mu.status, mu.company_name, mu.user_type, mf.follow_up_date, mf.date, mu.user_id');


   $this->db->from('marketing_users as mu');
    $this->db->join('marketing_group as mg','mg.id = mu.region_id','left');
    $this->db->join('marketing_follow_up as mf','mf.user_id_fk = 
    mu.user_id','left');
   foreach($array as $condition){
       $this->db->or_where('mg.id',$condition);
   }
   $this->db->order_by('mf.follow_up_date','asc');
   $this->db->group_by('mf.user_id_fk');


   $query = $this->db->get();
   return $query->result_array();
  }

1 个答案:

答案 0 :(得分:0)

您需要按desc顺序对日期字段进行排序。同样对于 asc ,我们不必将其作为第二个参数传递它默认接受 asc

 $this->db->order_by('mf.follow_up_date','desc');