Группировать по чему-то, что вычислила база данных - PullRequest
0 голосов
/ 14 ноября 2018

В процессе преобразования старого PHP-приложения в Rails я наткнулся на этот фрагмент кода SQL:

select week(datum)+1 as kw, year(datum) as jahr,
count(*) as anzahl,  
sum(dv) as dv 
from forecast
group by kw, jahr
order by jahr, kw;

Наименование на немецком языке:

  • дата: дата
  • кВт: календарная неделя
  • год: год
  • Анзал: количество

Я не знаю и не могу найти ни в одной документации, как группировать по kw и jahr с ActiveRecord. Можно добиться этого или я должен использовать код SQL?

1 Ответ

0 голосов
/ 14 ноября 2018

У вас есть название модели, как прогноз? Я думаю, что можно сделать что-то вроде этого:

Forecast.select(Arel.sql("week(datum)+1 as kw, year(datum) as jahr, count(*) as anzahl, sum(dv) as dv")).group(Arel.sql('kw, jahr')).order(Arel.sql('jahr, kw'))

Или вы можете использовать Arel для построения запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...