2009-06-18 7 views
1

Используя класс Active Record CodeIgniter и MySQL, у меня есть стол сообщений с user_id и различными другими полями, и я хочу подсчитать, сколько сообщений было сделано каждым пользователем. Я мог бы получить строки, где user_id = $whatever, и подсчитать количество результатов, но мне нужно будет прокручивать каждый user_id и использовать этот count_all_results() запрос снова и снова для каждого.Подсчитайте количество строк в каждой группе

Должен быть лучший способ! Если бы у каждого поля было поле с 1, я мог бы select_sum до этого поля и получить счет. Но это кажется глупым.

Большое спасибо заранее!

ответ

1

Использование активной записи должны быть:

$this->db->select('field1, ... ,fieldn, count(1) as number_elements_of_row'); 

$this->db->group_by(array('field_group_1', ... ,'field_group_n')); 

$result = $this->db->get('mytable'); 

так $result будет иметь то, что вам нужно!

Смежные вопросы