如何在Rails中执行此操作?:
select avg(cnt)
from
(
select
count(*) as cnt
from
sngs s
inner join clbs c on c.id = s.clb_id
where
c.user_id = 35
group by
date(s.record_date)
) sc
该行
current_user.sngs.joins(:clb).average(“count(*)”,group:“date(record_date)”)
给出错误:
PG ::错误:错误:聚合函数调用无法嵌套LINE 1:SELECT AVG(count(*)).............
答案 0 :(得分:1)
我没有测试它,但也许它看起来像这样:
Sng.joins(:clbs).where("clbs.user_id = 35").group(:record_date).average
您应该查看Rails指南中的ActiveRecord
查询界面。 http://guides.rubyonrails.org/active_record_querying.html
此链接解释了您应该用于查询的许多方法。
修改强>
查看count
,average
,having
,group
并一起查看所有这些内容。