2016-03-30 3 views
0

Rails 4.2.5, PostgreSQL 9.4+Добавить переменную в результате в запрос

У меня есть таблица DailyMetric. Как следует из названия, он имеет ежедневные показатели для каждого ассоциированного участника. Я пытаюсь обобщить эти показатели на различные периоды, например, на неделю до настоящего времени, на прошлой неделе, на месяц до даты и т. Д. В запросе у меня есть выбранные записи, но я хочу суммировать записи за период, но этот период является внешняя переменная в таблицу. Запрос, как он стоит, это:

records = DailyMetric. 
    where('metrics_date >= ? AND metrics_date <= ?', period.first, period.last). 
    select("associate_logon as logon, metrics_date as logon_date, 
    sum((metrics #>> '{\"Login\"}')::NUMERIC) as total_logons"). 
    group('associate_logon, metrics_date') 

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

Могу ли я получить желаемый результат, изменив запрос или мне нужно запустить такое резюме извне самостоятельно? При необходимости я могу сделать внешнее резюме. Я просто хотел бы знать, могу ли я сделать это в запросе.

FWIW и для полноты статистики, такие как Логин, хранятся в PostgreSQL с использованием JSONB.

ответ

0

Я переписал запрос без предложения группы и обрабатываю себя. В конце концов, группа просто не собиралась делать то, что мне было нужно. Благодарю.

Смежные вопросы