Вы можете попробовать это решение для вашей проблемы:
$this->db->distinct();
$this->db->select('id','product_code','price','datetime');
$this->db->from($this->table);
return $this->db->get()->result_array();
Чем
echo $query->num_rows();
ИЛИ
$this->db->select('DISTINCT(product_code), ');
$this->db->from($this->table);
$query=$this->db->get();
print_r($this->db->get()->result_array());
echo $query->num_rows();exit;
Надеюсь, это поможет вам.