группа направляющих несколькими столбцами

у меня есть бюджетная таблица с emptype_id и calendar_id actual_head, estimated_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 и сделать некоторые вычисления на нем.

12
задан Pritesh Jain 23 August 2012 в 18:41
поделиться

3 ответа

Я не уверен в этом, купите попробуйте : group => [: emptype_id,: calendar_id]

3
ответ дан 2 December 2019 в 19:32
поделиться

Группирование с несколькими столбцами не может поддерживаться направляющими. Вы должны использовать обычный поиск всех:

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 }
10
ответ дан 2 December 2019 в 19:32
поделиться

Я обманываю. Сделайте : group => ["emptype_id, calendar_id"].

Не хочу ни тебя, ни я, но это работает по крайней мере.

5
ответ дан 2 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: