我想一次做几个聚合
函数,例如,按状态分组
获取最大和最小ID:
Model.maximum(:id).minimum(:id).group(:status)
这不起作用(至少使用Rails 3.1.1) – 你在最小调用上得到一个错误,说它没有在Fixnum上定义.
NoMethodError: undefined method `minimum' for 22377:Fixnum
我可以为它做原始的sql – 但只是想知道是否有更高级别/ Rails选项…
谢谢,克里斯
我相信@topek是对的,你不能像这样
链接计算
功能.我认为你必须在select谓词中使用
sql,例如:
Model.select('MAX(id) AS `maximum`,MIN(id) AS `minimum`').group(:status)
我刚刚在我自己的项目中对此进行了测试,它似乎按预期工作.