Подтвердить что ты не робот

CodeIgniter: как сделать выбор (Distinct Fieldname) MySQL Query

Я пытаюсь получить количество всех уникальных значений в поле.

Пример SQL:

SELECT count(distinct accessid) FROM (`accesslog`) WHERE record = '123'

Как я могу выполнить такой запрос внутри CodeIgniter?

Я знаю, что могу использовать $this->db->query() и писать свой собственный SQL-запрос, но у меня есть другие требования, которые я хочу использовать $this->db->where() для. Если я использую ->query(), хотя я должен сам написать весь запрос.

4b9b3361

Ответ 1

$record = '123';

$this->db->distinct();

$this->db->select('accessid');

$this->db->where('record', $record); 

$query = $this->db->get('accesslog');

затем

$query->num_rows();

должен пройти долгий путь к нему.

Ответ 2

попробуйте со следующим кодом

function fun1()  
{  
   $this->db->select('count(DISTINCT(accessid))');  
   $this->db->from('accesslog');  
   $this->db->where('record =','123');  
   $query=$this->db->get();  
   return $query->num_rows();  
}

Ответ 3

Вы также можете запустить → select ('DISTINCT `field`, FALSE), а второй параметр указывает CI не упускать первый аргумент. При втором параметре выход будет SELECT DISTINCT `field` вместо второго параметра SELECT` DISTINCT` `` `

Ответ 4

Поскольку счетчик является конечным значением, заданным в вашем запросе,

$this->db->distinct();
$this->db->select('accessid');
$this->db->where('record', $record); 
$query = $this->db->get()->result_array();
return count($query);

Количество возвращаемых значений

Ответ 5

Простой, но полезный способ:

$query = $this->db->distinct()->select('order_id')->get_where('tbl_order_details', array('seller_id' => $seller_id));
        return $query;