Как группировать и считать в рельсах - PullRequest
1 голос
/ 22 июля 2010

В настоящее время я пытаюсь создать графическую статистику для заданий в PBS.У меня есть модель заданий, в которой много полей, среди которых есть поле «Группа».Я хотел бы знать, сколько заданий выполнила каждая группа.Для этого мне нужен следующий запрос:

SELECT 
jobs.`group`,
COUNT(`group`) AS 'number_of_jobs'
FROM jobs
GROUP BY jobs.`group`

, который возвращает 2 столбца, имя группы и количество заданий, выполненных этой группой, независимо от того, что я не могу сделать в Ruby на рельсах.Любая помощь будет оценена.

Ответы [ 2 ]

3 голосов
/ 22 июля 2010

group - это ключевое слово для mysql, поэтому используйте для него ( `) backtics

Job.find(
          :all,
          :select => '`group`, COUNT(`group`) AS number_of_jobs',
          :group  => '`group`'
      )

Не проверяйте, хотя

1 голос
/ 22 июля 2010

Предполагая, что у вас есть модель с именем Job для таблиц заданий

Job.find(
          :all,
          :select => 'group, COUNT(group) AS number_of_jobs',
          :group  => 'group'
      )
...