Подсчитайте количество строк в каждой группе - PullRequest
1 голос
/ 19 июня 2009

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

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

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

1 Ответ

1 голос
/ 19 июня 2009

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

$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 будет иметь то, что вам нужно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...