2012-06-12 46 views
0

我想要做的是按不同值對錶的行進行分組,然後計算結果,同時將計數與不同的值相關聯。Codeigniter計算不同值的行

所以我有這樣的表格:

id | member.id | value1 | value2 |等

我需要計算每個member.id與多少行相關聯並返回像下面這樣的數組。

array(
    [member.id1] ['count'] => 'rowcount' 
    [member.id2] ['count'] => 'rowcount' 
    etc. 
) 

我真的難倒就如何做到這一點使用Codigniter的ActiveRecord的,我不希望運行在foreach循環另一個數據庫查詢。我應該採取什麼方向的任何幫助將是最有幫助的。

+0

我想我已經想通了,但它需要我在foreach循環內運行查詢。基本上我正在運行一個查詢來獲得獨特的member.id然後我運行該數組的foreach和計數與匹配member.id列,並將這些結果放入另一個數組。它對我來說看起來並不高雅,但它很有用。 – erichert

+1

請發佈您的代碼。 –

回答

7

嘗試這樣:

$items = $this->db->select('id, COUNT(id) AS count', false) 
        ->from('table') 
        ->group_by('member.id') 
        ->get()->result(); 

輸出 - 對象陣列id爲用戶和計數。

+0

這很好。我只需要將'member.id'添加到select語句中以將其添加到數組中,並且它完全符合我的需要。謝謝! – erichert