尝试使用 ActiveRecord 获取此查询,我该如何正确编写它?
SELECT AVG(IF(condition)) AS average_id
FROM (SELECT * FROM `table`
WHERE `id` = 1
ORDER BY `date` DESC
LIMIT 10) `table`;
最佳答案
鉴于 table
是由名为 MyModel
的模型建模的 - 上面的内容将大致翻译为:
MyModel.average('IF(condition)').where(id: 1).order(date: :desc).limit(10)
关于mysql - 获取平均值时在 Ruby + Rails 中执行子查询的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981497/