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

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

Пример SQL:

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

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

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

Solutions Collecting From Web of "CodeIgniter: как сделать выбор (Distinct Fieldname) MySQL Query"

 $record = '123'; $this->db->distinct(); $this->db->select('accessid'); $this->db->where('record', $record); $query = $this->db->get('accesslog'); 

тогда

 $query->num_rows(); 

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

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

 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(); } 

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