Я пытаюсь получить подсчет всех уникальных значений в поле.
Пример SQL:
SELECT count(distinct accessid) FROM (`accesslog`) WHERE record = '123'
Как я могу сделать такой запрос внутри CodeIgniter?
Я знаю, что могу использовать $this->db->query()
и писать свой собственный SQL-запрос, но у меня есть другие требования, которые я хочу использовать $this->db->where()
for. Если я использую ->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` `