我在RoR中很新,并且在编写我的SQL查询时遇到很多问题。我尝试在没有(或只有几个)sql的情况下完成它们。
这是我想写的查询。
select AVG(results.value)as 'avg', form_rows.id, form_rows.domtype
from form_rows
join results on results.form_row_id = form_rows.id
where form_rows.form_id = '9' and form_rows.domtype IN ('numfield', 'percentagefield')
group by results.form_row_id
注意,在第一个where条件(form_rows.form_id ='9')中,该值作为参数发送。
如果有人可以帮助我:)
答案 0 :(得分:1)
我假设你有一个FormRow和结果模型
FormRow.joins(:results).where(:form_id => params[:form_id])
.where("form_rows.domtype IN(?)", ['numfield', 'percentagefield'])
.group("results.form_row_id")
.select("AVG(results.value) as 'avg', form_rows.id, form_rows.domtype")
我没有测试它,但应该是它
顺便说一下:如果你在select中使用它,你应该按照form_rows.domtype进行分组。