我在Rails模型中进行如下查找:
@jobs = Job.find(:all, :conditions => ["job_id = ?", params[:id]])
此查询的结果还会从关联的模型JobResponses中返回数据(每个作业记录有多个JobResponses)。一旦我获得了JobResponse结果,我就会为每组作业结果计算一些不同的平均值/中位数等。
JobResponses中返回的其中一列是company_id - 因此我可能会收到10份求职回复(4位来自A公司,2位来自B公司,2位来自C公司,1份来自公司D& E) - 5不同的公司。
如何计算/显示返回JobResponses结果的不同公司的数量?
答案 0 :(得分:2)
如果我清楚地了解,请尝试关注以获得不同公司的数量: @ jobs.map(安培;:job_responses).flatten.map(安培;:COMPANY_ID).uniq.size
答案 1 :(得分:0)
也许,普通的sql?
@jobs = Job.find_by_sql('select job.*, count(jr.id) as distinct_responses from job, job_responses jr where jr.job_id = job.id group by job.id')
@jobs
的每个元素现在都有distinct_responses
访问者