我有预算表与emptype_id和calendar_id actual_head,估计_头
当我做了Budgets.sum(:actual_head,:group =>“emptype_id,calendar_id”)我没有得到结果按上述两列分组,但只能通过emptype_id
但是当我检查日志时,SQL查询是对的
SELECT sum(`budgets`.actual_head) AS sum_actual_head,emptype_id,calendar_id AS emptype_id_calendar_id FROM `budgets` GROUP BY emptype_id,calendar_id
有103行
我想迭代每个emptype_id和calendar_id以获得actual_head的总和
并对其进行一些计算.
解决方法
rails不支持对多个列进行分组.你必须使用常规查找全部:
budgets = Budgets.find(:all,:select => "emptype_id,calendar_id,sum(budgets.actual_head) AS sum_actual_head",:group => "emptype_id,calendar_id") budgets.each { |budget| puts budget.sum_actual_head }