获得平均值时在Ruby + Rails中执行子查询的最佳方法是什么?

时间:2014-06-01 15:38:40

标签: mysql ruby activerecord subquery

尝试使用ActiveRecord获取此查询,我该如何正确编写?

SELECT AVG(IF(condition)) AS average_id 
FROM (SELECT * FROM `table`
WHERE `id` = 1 
ORDER BY `date` DESC
LIMIT 10) `table`;

1 个答案:

答案 0 :(得分:0)

鉴于table由名为MyModel的模型建模 - 上述内容将大致翻译为:

MyModel.average('IF(condition)').where(id: 1).order(date: :desc).limit(10)