我有以下代码为每个具有LATEST状态的MAC获取一行。我遇到的问题是,我得到一行但不是最新的状态,而是最早的状态。
function get_active_devices($min_duration, $max_duration)
{
//get all active devices DESC order
$this->db->distinct();
$this->db->group_by('mac');
$this->db->order_by("id", "desc");
$this->db->select('data.mac, state, time, iot_bo.notified, iot_bo.op_state, iot_bo.Name');
$this->db->where('time >', time()-$max_duration);
$this->db->where('time <', time()-$min_duration);
$this->db->join('iot_bo', 'iot_bo.mac = data.mac');
$this->db->where('iot_bo.op_state', '1');
$query = $this->db->get();
return $query;
}
答案 0 :(得分:0)
您是否先尝试过不使用distinct和groupBy的查询?可能是您想要的总结果集中的结果。因为使用db方法似乎没有任何问题。