【发布时间】:2013-09-17 03:40:25
【问题描述】:
我有一个简单的国家表,其中包含名称、大陆、人口和其他一些字段。
我正在尝试使用 ActiveRecord 执行以下 MySQL 查询
SELECT count(*), SUM(population), AVG(population) FROM countries wherecontinent='Asia'
我应该怎么做?
我试过了:
Country.where(:continent => 'Asia').count()
Country.where(:continent => 'Asia').sum(:population)
Country.where(:continent => 'Asia').average(:population)
所有单独工作都很好,它们都返回数字(不是 ActiveRelation 对象),这意味着你不能做类似的事情
Country.where(:continent => 'Asia').count().sum(:population).average(:population)
【问题讨论】:
-
您真的想要接收同时计数、分组和平均的国家吗? :)
-
@lol007,我要求亚洲国家个数,亚洲总人口,亚洲各国平均人口数
标签: mysql ruby ruby-on-rails-3 activerecord