Я изо всех сил пытаюсь разобраться с Postgesql и группировать по ассоциациям.
У меня есть пробная версия, в которой есть много повторений.Я хочу сгруппировать по столбцу в повторениях, чтобы использовать в переменной.В настоящее время у меня есть:
@trials = Trial.joins(:repetitions).group('repetitions.repetition_index')
Но получите эту ошибку.
PG::GroupingError: ERROR: column "trials.id" must appear in the GROUP BY clause or be used in an aggregate function
Теперь, читая об этом, мне нужно включить trials.id
в метод моей группы, но когда я делаювывод больше не группируется по repetitions.repetition_index
.Кажется, что он группируется по trials.id
.
Как мне убедиться, что группа только по repetitions.repetition_index
?
Обновление
Пытается:
@trials = Trial.joins(:repetitions).select('repetitions.repetition_index,repetitions.treatment_index').group('trials.id, repetitions.repetition_index,repetitions.treatment_index')
И звонит:
<% @trials.each do |r| %>
<table class="table table-bordered">
<tr>
<td><%= r.repetition_index %></td>
<td><%= r.treatment_index %></td>
</tr>
</table>
<% end %>
Дает мне вывод:
|1|1|
-----
|1|2|
-----
|2|1|
-----
|2|2|
-----
Когда я ищу:
| |1|
|1|2|
-----
| |1|
|2|2|
-----