Задать вопрос

Ruby on Rails 4. Как правильно составить запрос на группировку строк по дате?

Здравствуйте. Не могу написать правильный запрос чтобы получить такой результат (сгруппировать записи по дню):
дата(день) - sum(поле1) - sum(поле2)

Код который есть:
@downloads = Download
.order(created_at: :desc)
.includes(:document)
.joins(:document)
.where('documents.uploaded_by = ?', params[:user_id])
.page(params[:page])

document has_many downloads
download belongs_to document

Буду благодарен за помощь
  • Вопрос задан
  • 221 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@vsuhachev
Общий принцип такой:
Download
  .joins(:document)
  .where(documents: {uploaded_by: params[:user_id]})
  .group(:created_at)
  .pluck(:created_at, 'sum(поле1)', 'sum(поле2)')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mastedm
@mastedm
Есть вот такой полезный gem для группировки по датам, но ‘-sum...’ он вам не сделает.

Мне кажется, проще уже писать запрос кусками SQL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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