我正在尝试使用条件计算一列
表
select* from policies
|policies|
|id| |client_id| |expiration_date
1 1 2013-10-10
2 1 2013-10-10
3 2 2013-10-10
|clients|
|id| |name|
1 ABC
2 CDE
3 EFG
我想要
select *,count(number_expirations) from policies where(client=1)
select *,count(number_expirations) from policies where(client=2)
|policies|
|id| |client_id| |number_of_expirations|
1 1 2
3 2 1
这是咨询
@count = Policy.count('expiration_date',:joins=> :client,:conditions=>['name =?',params[:name])
但我正在尝试通过client_id计算expiration_date
我真的很感激帮助。
答案 0 :(得分:1)
我没有完全理解您提供的问题或查找程序,但我认为您希望获得按客户分组的expiration_dates计数。
这看起来像这样:
Policy.where(name: params[:name]).group(:client_id).count