2009-06-18 17 views
1

Mit CodeIgniter Active Record-Klasse und MySQL, habe ich eine Tabelle von Beiträgen mit user_id und verschiedene andere Felder, und ich möchte zählen, wie viele Beiträge jeder Benutzer gemacht hat. Ich könnte Zeilen erhalten, wo user_id = $whatever und die Anzahl der Ergebnisse zählen, aber ich müsste alle user_id durchlaufen und diese count_all_results() Abfrage immer wieder für jeden verwenden.Zählen Sie die Anzahl der Zeilen in jeder Gruppe

Es muss einen besseren Weg geben! Wenn jedes Feld gerade ein Feld mit einem 1 darin hatte, könnte ich select_sum herauf dieses Feld und eine Zählung erhalten. Aber das scheint dumm.

Vielen Dank im Voraus!

Antwort

1

sollte aktiven Datensatz verwenden sein:

$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'); 

so $result haben, was Sie brauchen!

Verwandte Themen