ActiveRecord计数与MySQL计数

时间:2017-01-11 18:42:12

标签: mysql ruby-on-rails activerecord

我与MySQL和ActiveRecord直接生成的计数之间存在差异。在我的服务器(Rails)日志中显示的查询是:

SELECT u.id, AVG(u.price) AS avg_price, COUNT(u.id) AS unit_count 
FROM `properties` 
INNER JOIN units u ON properties.id = u.property_id

返回的结果是(1,200,1),这不是我所期待的。但是,当我直接将查询复制并粘贴到MySql中时,我得到(1,200,25),这正是我所期待的。当查询完全相同时,返回结果不同的原因是什么?我目前正在使用Rails 4和MySql 5.6.33。

编辑:

Property
  .select("u.id, AVG(u.price) AS avg_price, COUNT(u.id) AS unit_count")
  .joins("INNER JOIN units u ON properties.id = u.property_id")

0 个答案:

没有答案