2

我正在尝试在 Rails3 活动记录中复制以下 SQL,到目前为止我发现没有任何东西可以接近。因此,任何帮助将不胜感激。

SELECT AVG(DAILY_AVG) FROM (
    SELECT user_code, (COUNT(actioned_at) / 200) as DAILY_AVG
    FROM transactions
    GROUP BY user_code
) TMP

我目前正在使用 ...connection.select_value(sql) 直接执行此操作,但真的很想弄清楚执行此操作的活动记录方式。

4

1 回答 1

0

内部查询可以写成:

Transaction.group(:user_code).select("COUNT(actioned_at) / 200 AS daily_avg")

然后嵌套它以获得我们可以做的平均值:

Transaction.select("AVG(daily_avg)").from(Transaction.group(:user_code).select("COUNT(actioned_at) / 200 AS daily_avg"))[0].avg.to_f
于 2015-05-21T01:44:39.473 回答