2010-03-12 19 views
1

組我有如下表行:用的ActiveRecord在Rails的

=============================================== 
id| name | group1 | group2 | group3 | group4 | 
=============================================== 
1 | Bob | 1  | 0  | 0  | 1  | 
=============================================== 
2 | Eric | 0  | 1  | 0  | 1  | 
=============================================== 
3 | Muris | 1  | 0  | 1  | 1  | 
=============================================== 
4 | Angela| 0  | 0  | 0  | 1  | 
=============================================== 

編輯: 在我看來,預期的結果將是爲遵循,它會輸出組名(組1, group2 ...大約有30個組),在括號中指出有多少用戶對該組具有值1的計數。

group1 (2) 
group2 (1) 
group3 (1) 
group4 (4) 

所有幫助表示讚賞。

+1

你的問題不是很清楚。你能用預期的結果集更新問題嗎? – 2010-03-12 08:48:29

回答

2

我假設你想要的結果如下:

group1_sum 2 
group2_sum 1 
group3_sum 1 
group4_sum 4 

下面的代碼應該返回通緝的結果:

gt = GroupTally.first(:select => "SUM(group1) AS group1, 
          SUM(group2) AS group2, 
          SUM(group3) AS group3, 
          SUM(group4) AS group4") 

p gt.group1 # 2 
p gt.group2 # 1 
p gt.group3 # 1 
p gt.group4 # 4 
+0

@KandadaBoggu謝謝。 – Adnan 2010-03-12 09:28:40